11. september 2008 - 12:58
Der er
7 kommentarer og 1 løsning
Vil beholde form og se resultat…
Hej alle Når jeg kører onChange forsvinder min form når resultatet vises, hvordan får jeg den til at vise både resultat og form (uanset resultatet)? <script type="text/javascript"> function selectValue(){ var sel_idx = document.form1.menu.selectedIndex var s_Value = document.form1.menu.options[sel_idx].value if (s_Value == 3) {document.write("<b>Good morning</b>");} else {document.write("<b>Good night</b>");} } </script> <form name="form1"> <select name="menu" onChange="selectValue()"> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </form>
Annonceindlæg fra Infor
11. september 2008 - 13:16
#1
Document.write er en rigtig gammel kode. Gør i stedet sådan her: <script type="text/javascript"> function selectValue(o){ var s_Value=o.options[o.selectedIndex].value; var oMessage=document.getElementById("message"); if(s_Value==3){ oMessage.firstChild.nodeValue="Good morning"; }else{ oMessage.firstChild.nodeValue="Good night"; } } </script> <div id="message" style="font-weight:bold"> </div> <form> <select onchange="selectValue(this)"> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </form> Vær dog opmærksom på, at du ikke bare kan skrive HTML ind i dine beskeder med denne metode. Og så har jeg i øvrigt ændret onChange til onchange, der er det korrekte navn. =)
11. september 2008 - 13:22
#2
Og så har jeg også sparet meget af linjerne: var sel_idx = document.form1.menu.selectedIndex var s_Value = document.form1.menu.options[sel_idx].value væk ved at overføre this til funktionen, som er en reference til select'en.
11. september 2008 - 13:28
#3
Tak for hjælpen. Er lige startet med javascript i går, så det bliver spændende at komme videre med, men nu ved jeg jo hvor jeg kan henvende mig :) Tak igen
11. september 2008 - 13:31
#4
Jep! :) Og tak for point! Min kode benytter det, at er div'en "child", til at manipulere " " med. Først finder man "barnet" med firstChild og så ændrer man dens "nodeværdi" med nodeValue.
11. september 2008 - 13:31
#5
*at er div'ens "child"
11. september 2008 - 13:32
#6
Udover firstChild kan du også bruge lastChild, previousSibling og nextSibling.
11. september 2008 - 13:39
#7
Fedt, så kan jeg placere dem hvor jeg vil på sitet. Super :)
11. september 2008 - 14:13
#8
Jeg opretter lige en ny tråd med spørgsmålet: ok, hvad så hvis jeg vil have at når f.eks 3 vælges, så skal den vise en table (hvor den nu skriver Good morning) med forskelligt indhold?
Vi tilbyder markedets bedste kurser inden for webudvikling