Avatar billede d.kryger Praktikant
06. september 2006 - 09:04 Der er 7 kommentarer og
1 løsning

Hvor er fejlen i koden?

Hej eksperter.

Jeg har lige to spørgsmål til nedenstående kode.

1. Hvis man lige nu vælger "Ingen", kommer der en script-fejl i stedet for en alert. Hvorfor?
2. Kan man lave det sådan at checkboxene med værdierne 10 og 11, bliver disablet hvis man vælger "Ingen"?

Kode:
<html>

<head>
<title>Test</title>
<script type="text/javascript">
function check()
{
    if(document.bestil.plantegning.ingen.checked)
    {
        alert("Ingen er valgt");
    }
}
</script>
</head>

<body>

<form action='index.html' name="bestil" id='bestil' method='post'>

<input type='radio' name='plantegning' value='Ja'> Ja<br>
<input type='radio' name='plantegning' value='ingen' onclick='check()'> Ingen<br>
<br>
<input type='checkbox' name='fotonr9' value='Ja'> 9<br>
<input type='checkbox' name='fotonr10' value='Ja'> 10<br>
<input type='checkbox' name='fotonr11' value='Ja'> 11<br>

</form>

</body>

</html>
Avatar billede fennec Nybegynder
06. september 2006 - 09:09 #1
if(document.bestil.plantegning[1].checked)
Avatar billede fennec Nybegynder
06. september 2006 - 09:11 #2
Du kunne også bare sende elementet med i funktionen:
function check(ele)
{
    if(ele.checked)
    {
        alert("Ingen er valgt");
    }
}

<input type='radio' name='plantegning' value='ingen' onclick='check(this)'> Ingen<br>
Avatar billede fennec Nybegynder
06. september 2006 - 09:16 #3
Et fuldt script kunne være sådan:

<html>

<head>
<title>Test</title>
<script type="text/javascript">
function check(doIt,ele)
{
    if(doIt)
    {
        ele.form.fotonr10.disabled=true;
        ele.form.fotonr11.disabled=true;
//        alert("Ingen er valgt");
    }
    else
    {
        ele.form.fotonr10.disabled=false;
        ele.form.fotonr11.disabled=false;
    }
}
</script>
</head>

<body>

<form action='index.html' name="bestil" id='bestil' method='post'>

<input type='radio' name='plantegning' value='Ja' onclick='check(false,this)'> Ja<br>
<input type='radio' name='plantegning' value='ingen' onclick='check(true,this)'> Ingen<br>
<br>
<input type='checkbox' name='fotonr9' value='Ja'> 9<br>
<input type='checkbox' name='fotonr10' value='Ja'> 10<br>
<input type='checkbox' name='fotonr11' value='Ja'> 11<br>

</form>

</body>

</html>
Avatar billede d.kryger Praktikant
06. september 2006 - 09:36 #4
Mange tak for den hurtige hjælp... Læg et svar og du vil få point!
Avatar billede fennec Nybegynder
06. september 2006 - 09:48 #5
.o) <-- One Eyed Jack
Avatar billede d.kryger Praktikant
06. september 2006 - 10:47 #6
Lige et tillægs spørgsmål: Hvis nu "Ingen" er valgt som standard hvordan får jeg så nr. 10 og 11 til at blive disabled uden at skulle klikke på "Ingen"?
Avatar billede fennec Nybegynder
06. september 2006 - 11:03 #7
Kald funktionen onload:

<body onload="check(true,document.bestil.plantegning[1])">
Avatar billede d.kryger Praktikant
06. september 2006 - 14:19 #8
Endnu engang tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester