"Leonard" <piper28a@gmail.invalid> skrev i en meddelelse
news:1ik5cmgi2aooh.4c7n1q7eaxzr$.dlg@40tude.net...
> Jeg har en form med 4 input felter med hvert deres id:
>
> lat
> latdeg
> lon
> londeg
>
> I første omgang vil jeg gerne have en funktion, som når jeg ændrer
> tallet i latdeg ganger dette med 2 og skriver det i lat - og ligeså med
> londeg gange 2 i lon.
>
> Men jeg kan ikke hitte rede i hvordan jeg får værdien fra latdeg ind i
> funktionen, så jeg kan bruge det til noget.
>
> --
> Leonard
> RC Tamiya King Hauler 1:14 sælges
>
http://leonard.dk/tilsalg/kh.php
<script type="text/javascript">
function old2new(fdeg) {
var deg = document.getElementById(fdeg);
var decimal = deg * 2;
document.forms[0].lat.value = deg;
return;
}
</script>
Du mangler at tage værdien af feltet...
var deg = document.getElementById(fdeg).value;
og at sætte den id et andet felt dvs.
document.forms[0].lat.value = deg;
skal hedde
document.getElementById(lat).value = decimal;
Desuden vil du for at kunne bruge samme funktion, også skulle have det felt
den beregnede værdi skal skrives i, som en parameter.
F.eks :
function old2new(fdeg, tdeg) {
var deg = document.getElementById(fdeg).value;
var decimal = deg * 2;
document.getElementById(tdeg).value = decimal;
}
I HTML skal du så ændre til
<p>
Latitude: <input type='text' name='latdeg' id="latdeg" onchange="old2new(
'latdeg', 'lat');" />°
Longitude: <input type='text' name='londeg' id="londeg"
onchange="old2new( 'londeg', 'lon');" />°
</p>
Bemærk at parametrene er strenge - det kunne gøres enklere ved at bruge en
reference til elementet der kalder (this), og skrive det direkte i taget,
f.eks:
Latitude: <input type='text' name='latdeg' id="latdeg"
onchange="document.getElementById( 'lat').value=(this.value)*2;" />°
Birger