01. maj 2002 - 17:31
Der er
11 kommentarer og 2 løsninger
sætte værdien i en checkbox til "checked" Hvis en bestemt value e
Jeg har en form kaldet rock, hvor følgende select box er i.. <select size="1" name="Instrument1"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> jeg har yderligere en checkbox med følgende kode.. <input type="checkbox" name="Sang1" value="Ja"> Er det muligt med JavaScript, enten at få den Checkbox afkrydset når man vælger "Vokal" i dropdown'en , eller at disable den checkbox ? /Mads
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Ja lidt script i <head sektionen: <script> function checkSet( selObj ) { var tx = selObj.options[selObj.selectedIndex].text; if ( tx == 'Vocal' ) { selObj.form.Sang1.checked = true; } }; //end checkSet( Select objekt ) </script> og skriv så din select sætning som: <select size="1" name="Instrument1" onchange="checkSet( this );"> mvh JakobA
<script> function ch() { (event.srcElement.value == "Trompet")?document.frm0.sang1.checked = true:document.frm0.sang1.checked = false; } </script> <form name="frm0"> <select size="1" name="Instrument1" onchange="ch()"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> </select> <input type="checkbox" name="sang1" value="Ja"> </form>
Hmmm... Nu ville det være ret besværligt så at skulle skrive 10 functions.... er der en måde hvorpå det kan gøres nemmere ?? min form heddder 'rock' og alle hedder instrument1 - instrument10 og sang1 - sang10 ... hvorn klares den ?
i en option kan du jo både angive value="noget" (som brugeren ikke ser) og teksten iemllem <option ... > go </option> (som er det brugeren ser og klikker på) så hvis du skriver navnet på checkboksen som value kan det være så mange forskellige checkbokse du vil. Men var det så ikke smartere at bruge radioknapper? så bliver den forrige automatisk valgt fra når der vælges en ny. mvh JakobA
<html> <body> <script> function ch(s) { var nb = event.srcElement.name.substring(event.srcElement.name.length-1); if (event.srcElement.value == s) document.rock['sang'+nb].checked = true; else document.rock['sang'+nb].checked = false; } </script> <form name="rock"> <select size="1" name="Instrument1" onchange="ch('Trompet')"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> </select> <input type="checkbox" name="sang1" value="Ja"> </form> </body> </head>
hvordan det virker med flere: <html> <body> <script> function ch(s) { var nb = event.srcElement.name.substring(event.srcElement.name.length-1); if (event.srcElement.value == s) document.rock['sang'+nb].checked = true; else document.rock['sang'+nb].checked = false; } </script> <form name="rock"> <select size="1" name="Instrument1" onchange="ch('Trompet')"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> </select> <input type="checkbox" name="sang1" value="Ja"> <select size="1" name="Instrument2" onchange="ch('Trommer')"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> </select> <input type="checkbox" name="sang2" value="Ja"> </form> </body> </head>
Hmmm .. well .. hele min form , er en tilmeldingsform til et musik arrangement.. der er plads til 10 musiere pr tilmelding, og hver musiker har et felt hvor der skal skrives navn, et hvor de skal vælge deres instrument, og det sidste hvor de kan krydse af om de også synger... Hvis de som instrument vælger Vokal skal den automatisk krydse af i checkboxen , da de jo så helt klart synger.... så der er 10 af hver text-felt, dropdown og checkbox.. Kan det ikke gøres på en nem måde ? .. Points er ikke noget problem ..
er det dette du mener?? <html> <body> <script> function ch() { var nb = event.srcElement.name.substring(event.srcElement.name.length-1); if (event.srcElement.value == "Vokal") document.rock['sang'+nb].checked = true; else document.rock['sang'+nb].checked = false; } </script> <form name="rock"> Navn: <input type="text" name="navn1"><br> <select size="1" name="Instrument1" onchange="ch()"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option value="Vokal">Vokal</option> <option>Andet..</option> </select><br> <input type="checkbox" name="sang1" value="Ja"><br><br> Navn: <input type="text" name="navn2"><br> <select size="1" name="Instrument2" onchange="ch()"> <option></option> <optionVokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option value="Vokal">Vokal</option> <option>Andet..</option> </select><br> <input type="checkbox" name="sang2" value="Ja"><br><br> <input type="submit"> </form> </body> </html> jeg har kun lavet med to, men du skal bare sætte de sidste 8 ind og ændre tallet i deres navne - så virker det.
scriptet skal nok lige ændres til: <script> function ch() { var nb = event.srcElement.name.substring(event.srcElement.name.length-1); if (event.srcElement.value == "Vokal") document.rock['sang'+nb].checked = true; } </script> da de også må kunne synge hvis du spiller på et instrument.
H mmm well .. din function virker ikke.. den fortæller mig
Error : document.rock[...]is null or not an objekt....
Du får lige HELE source coden så du kan se den ..
Men du kan bare svare tilbage med den første "musikerlinie" (navn, instrument og "sang" ) :o)
http://www.kingmedia.dk/xperten/form.zip Der er hele koden ..
Øh... kingmedia Er du ikke ved at lave den klassiske progrmmørfejl? At klemme nogen formodninger ned over hovedet på virkeligheden. Det fleste musikere jeg har kendt spillede 3-5 forskellige instrumenter, ofte iløbet af den samme sang. så skulle det ikke snarere være bare checkbokse +evt et writein felt så de kan skrive "balinesisk mundharpe" hvis de også kan det. Musikkere er som reget stolte af hvad de kan. Lad dem dog fortælle det :-) mvh JakobA
<script language="JavaScript"> function ch() { var nb = event.srcElement.name.substring(event.srcElement.name.length-1); if (event.srcElement.value == "Vokal") document.rock['Sang'+nb].checked = true; } </script> <form name="rock"> <table width="95%" align="center"> <tr> <td align="right" width="10%">Navn: </td> <td align="left" width="17%"><input type="text" name="Navn1" size="20" id="entry"></td> <td align="right" width="25%">Instrument: </td> <td align="left" width="19%"><select size="1" name="Instrument1" onchange="ch()"> <option></option> <option value="Vokal">Vokal</option> <option value="Trommer">Trommer</option> <option value="Bas">Bas</option> <option value="Guitar">Guitar</option> <option value="Keyboard">Keyboard</option> <option value="Percussion">Percussion</option> <option value="Trompet">Trompet</option> <option value="Saxofon">Saxofon</option> <option>Andet..</option> </select></td> <td align="right" width="50%"> <p align="right">Synger: <font size="2" color="#FF0000">x ved ja </font></p> </td> <td align="left" width="29%"> <p align="left"><input type="checkbox" name="Sang1" value="Ja"></p> </td> </tr> </table> </form>
Wll.. JakobA ..
Jeg tror jeg tager dine ting til efterretning..
I får lov at dele pointsne, da i begge to kom med en masse gode inputs.
Men jeg tror jeg vil bruge et writein felt som du selv sagde...
Tak for hjælpen :o)
/Mads -
www.kingmedia.dk
Vi tilbyder markedets bedste kurser inden for webudvikling