/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
javascript getelementbyid
Fra : Leonard


Dato : 17-08-07 21:01

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

 
 
Christian Hansen (18-08-2007)
Kommentar
Fra : Christian Hansen


Dato : 18-08-07 12:44

document.getElementById("latdeg").value indeholder værdien i feltet
latdeg. Vær opmærksom på at hvis du bruger kommatal skal du anvende
parseFloat før du lægger tallene sammen.

Mvh Christian

Leonard wrote:
> 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 (18-08-2007)
Kommentar
Fra : Leonard


Dato : 18-08-07 14:34

On Sat, 18 Aug 2007 13:43:40 +0200, Christian Hansen wrote:

> document.getElementById("latdeg").value indeholder værdien i feltet
> latdeg. Vær opmærksom på at hvis du bruger kommatal skal du anvende

Det vil ikke som jeg vil, mit forsøg kan ses her:
http://162.dk/javascript/

Og det jeg altså gerne vil, er at når jeg skriver et tal i et af de
nederste felter, så ganges det med 2 og skrives i feltet ovenover.

Det skal udbygges senere, men ligenu er det bare det med at læse værdien
og overføre den til en funktion, samt at få resultatet ud i det rigtige
felt.

--
Leonard
Mine biler: http://vw.leonard.dk/

Lasse Reichstein Nie~ (18-08-2007)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 18-08-07 16:35

Leonard <piper28a@gmail.invalid> writes:

> Jeg har en form med 4 input felter med hvert deres id:
>
> lat
> latdeg
> lon
> londeg

Er det id eller name? Hvis formen skal submittes, så bør det være
name der bruges.

> 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.

noget i stil med:
<input type="text" name="latdeg"
onchange="this.form.elements['lat'].value = Number(this.value) * 2;">

> 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.

eller
<input type="text" name="latdeg"
onchange="doSomething(this.value);">

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Leonard (18-08-2007)
Kommentar
Fra : Leonard


Dato : 18-08-07 17:41

On Sat, 18 Aug 2007 17:34:45 +0200, Lasse Reichstein Nielsen wrote:

> Er det id eller name? Hvis formen skal submittes, så bør det være
> name der bruges.

Ligenu er det begge dele, men hvis jeg kan nøjes med den ene så er det
jo fint.
Formen skal submittes, men det er kun lat og lon der skal bruges i den
videre behandling, så latdeg og londag behøver ikke at være tilgængelige
senere.

>> 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.
>
> noget i stil med:
> <input type="text" name="latdeg"
> onchange="this.form.elements['lat'].value = Number(this.value) * 2;">

Jo, men jeg vil gerne lave det som en funktion, som jeg kan kalde flere
stedr fra.

>> 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.
>
> eller
> <input type="text" name="latdeg"
> onchange="doSomething(this.value);">

Ja, det ligner mere, men hvordan skal doSomething funktionen så se ud
for at hente latdeg ind og smide lat ud?

Der skal forøvrigt tilsidst 3 værdier ind og disse skal regnes sammen
til en.

--
Leonard
Mine biler: http://vw.leonard.dk/

Birger (20-08-2007)
Kommentar
Fra : Birger


Dato : 20-08-07 12:59

"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



Leonard (21-08-2007)
Kommentar
Fra : Leonard


Dato : 21-08-07 10:59

On Mon, 20 Aug 2007 13:58:59 +0200, Birger wrote:

> function old2new(fdeg, tdeg) {
> var deg = document.getElementById(fdeg).value;
> var decimal = deg * 2;
> document.getElementById(tdeg).value = decimal;
> }

Det ligner noget jeg selv har forsøgt og giver samme fejl:

Fejl: document.getElementById(fdeg) has no properties

--
Leonard
Mine biler: http://vw.leonard.dk/

Birger (21-08-2007)
Kommentar
Fra : Birger


Dato : 21-08-07 15:42

"Leonard" <piper28a@gmail.invalid> skrev i en meddelelse
news:11dd91ll0kbt4$.tu6bttx6r2a8.dlg@40tude.net...
> On Mon, 20 Aug 2007 13:58:59 +0200, Birger wrote:
>
>> function old2new(fdeg, tdeg) {
>> var deg = document.getElementById(fdeg).value;
>> var decimal = deg * 2;
>> document.getElementById(tdeg).value = decimal;
>> }
>
> Det ligner noget jeg selv har forsøgt og giver samme fejl:
>
> Fejl: document.getElementById(fdeg) has no properties
>
> --
> Leonard
> Mine biler: http://vw.leonard.dk/

Vær sikker på at du kalder funktionen med navnet på fdeg i anførselstegn -
'latdeg' eller 'londeg', og også navnet på tdeg skal være en streng.
I øjeblikket står der sådan på din side :
<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>

Det skal være :
<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>

Birger




Leonard (21-08-2007)
Kommentar
Fra : Leonard


Dato : 21-08-07 16:03

On Tue, 21 Aug 2007 16:42:24 +0200, Birger wrote:

> Vær sikker på at du kalder funktionen med navnet på fdeg i anførselstegn -

OK, det var der fejlen var.
Tak for hjælpen, nu har jeg styr på den del, så er det bare at udvide og
tilpasse det til det som det faktisk skal bruges til.

--
Leonard
Mine biler: http://vw.leonard.dk/

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408173
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste