22. september 2008 - 19:17
Der er
14 kommentarer og 2 løsninger
Vil ikke accepterer navn
Jeg har følgende lille script <script language=Javascript> function Choice() { valg.value = choice[i].value; } </script> <select name=valg onChange='Choice();'> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> </select> <input type=text name="choice[i]"> Men det vil ikke opfatte choice[i] som navnet på textboxen. Hvordan kan det evt. laves, så det virker?
Annonceindlæg fra HP
22. september 2008 - 19:30
#1
Du bør skrive det sadan her i stedet: <script type="text/javascript"> function Choice( obj ) { obj.value = document.getElementById("choice").value; } </script> <select id="valg" name="valg" onchange="Choice( this );"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type=text id="choice" name="choice">
22. september 2008 - 19:31
#2
Men når man ændrer selecten, så sætter du selectens value på baggrund af textboksen, men hvad vil du bruge det til? Det virker helt forkert ... og jeg tror heller ikke det ville virke ..
22. september 2008 - 19:44
#3
spørgsmålet er hvordan skal det virke? og hvis man tager soerenlyn kode så er det måske det her du forsøger på (ellers giver det slet ikke mening) <script type="text/javascript"> function Choice( obj ) { document.getElementById("choice").value = obj.value; } </script>
22. september 2008 - 19:52
#4
Ja det var også det jeg tænkte :)
22. september 2008 - 20:34
#5
Jo, den virker da, men choice skal være et array, altså choice[$i], da det er en del af en løkke i et php script. variablen $i skal altså proppes ind i javascriptet, men hvordan? function Choice( obj ) { obj.value = document.getElementById("choice[$i]").value; } <select id="valg" name="valg" onchange="Choice( this );"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type=text id="choice" name="choice[$i]">
22. september 2008 - 20:38
#6
jan2001>>Du må vist forklare præcis hvad du vil opnå, for det fremgår ikke helt tydeligt af det, du skriver. Det lader til, du har forskellige felter, så du må overføre til funktionen, hvilket felt, du vil skrive til.
22. september 2008 - 20:40
#7
I øvrigt skal type=text være type="text", da dine attribut-værdier altid skal have anførselstegn omkring. Og du kunne måske f.eks. ordne dit problem lidt sådan her: function Choice( obj, i ) { obj.value = document.getElementById("choice"+i).value; } <select id="valg" name="valg" onchange="Choice( this, 2 );"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type=text id="choice2" name="choice[2]">
22. september 2008 - 20:41
#8
rettelse: <input type=text id="choice[$i]" name="choice[$i]">
22. september 2008 - 20:43
#9
Jeg mener nemlig ikke, du kan bruge de tegn i en id-attribut.
22. september 2008 - 20:49
#10
Jeg har prøvet følgende: document.getElementById("choice["+$i+"]").value = obj.value; men uden held.
22. september 2008 - 20:57
#11
Det kommer nok ikke til at virke, så længe du ikke gør det, vi foreslår. =)
22. september 2008 - 21:06
#12
Ups, jeg så ikke lige dit forslag, w13. Det ser ud til at virke som ønsket. Soerenlyn og w13 læg svar.
22. september 2008 - 21:11
#13
;)
22. september 2008 - 21:11
#14
..... okay ........
22. september 2008 - 21:15
#15
Jeg har fjernet Id"" og beholdt name="" og det virker også fint. Mange tak for hjælpen.
23. september 2008 - 00:59
#16
<ole> Nej, det virker ikke fint. Når metoden hedder 'getElementById', henter den naturligvis elementet udfra dets id - ikke dets name. At der så er en enkelt browser, som er rasende buggy på dette område, er en helt anden ting. - nå, men alt det har du dog sikkert forlængst opdaget, da du naturligvis tester i tre-fire forskellige browsere ;o) /mvh </bole>
Vi tilbyder markedets bedste kurser inden for webudvikling