PDA

View Full Version : JavaScript-probleem


yvdp
19-10-2003, 17:24
Ik heb volgende code:
html>
<!-- Copyright©: Yves Van de perre -->
<!-- Company: KaMalle -->
<!-- Author: Yves Van de perre -->
<head>
script language="JavaScript">
function functie(){
if(frm.radio1[0].checked)
{window.alert("Uw antwoord is Fout");}
if (frm.radio1[1].checked)
{window.alert("Uw antwoord is Fout");}
if (frm.radio1[2].checked)
{window.alert("Uw antwoord is Goed");}
if (frm.radio1[3].checked)
{window.alert("Uw antwoord is Fout");}}
/script
/head>

body>
form name="frm">
INPUT TYPE="radio" NAME="radio1"> antwoord 1 <BR>
INPUT TYPE="radio" NAME="radio1">antwoord 2 <BR>
INPUT TYPE="radio" NAME="radio1">antwoord 3 <BR>
INPUT TYPE="radio" NAME="radio1">antwoord 4 <BR><BR>
INPUT TYPE="button" NAME="knop" onClick="functie()" value="controleer">
/form
/body
/html

Je moet dus eerst 1 van de 4 radio-buttons aanklikken. Dan klik je op "controleer" en dan komt er een window.alert.
Hetgeen ik wil is da als die window.alert er komt die controleer button weg moet. Ik dacht dus het volgende te doen:
INPUT TYPE="button" NAME="knop" onClick=this.style.visibility="hidden"; "functie()" value="controleer"
Nu gaat de knop wel weg, maar roept hij m'n functie niet meer aan.
Iemand die me een antwoord kan geven?
(in de quotes even rechtermuisknop en dan view source)

alvast bedankt

yvdp
19-10-2003, 17:26
ik heb mezelf overtroffen en het antwoord zelf gevonden :)
dit moest het zijn
INPUT TYPE="button" NAME="knop" onClick={this.style.visibility="hidden"};functie() value="controleer"

JIPPIE:D


Bijkomend probleem... Hoe moet ik die radio-button locked zetten?

FleaBite
19-10-2003, 17:58
Originally posted by yvdp
Bijkomend probleem... Hoe moet ik die radio-button locked zetten?

hmmmm... het enige dat ik zo direct kan bedenken is frm.radio1.disabled = true , maar dan is je radiobutton wel uitgegrijsd...

yvdp
19-10-2003, 18:30
mjah, dat is geen probleem
maar ik zou ervoor moeten zorgen dat al die buttons dus disabled geraken. Ik zou dit dus in de functie moeten inwerken, maar hoe zou ik dus niet weten.
toch al bedankt

het project is hier (http://www.geocities.com/informaticabeheer2002/japan.html) te vinden.

FleaBite
19-10-2003, 18:41
Zoiets dan?


function functie(){
if (frm.radio1[0].checked) window.alert("Uw antwoord is Fout");
if (frm.radio1[1].checked) window.alert("Uw antwoord is Fout");
if (frm.radio1[2].checked) window.alert("Uw antwoord is Goed");
if (frm.radio1[3].checked) window.alert("Uw antwoord is Fout");

for ( k = 0; k < frm.radio1.length; k++) frm.radio1[k].disabled = true;
}



Aangezien je je antwoord niet meer mag wijzigen nadat je op "controleer" geklikt hebt, en functie() dus maar 1 keer uitgevoerd wordt, mag je het disablen van de radiobuttons gerust in deze functie zetten. Wat je ook zou kunnen doen is het disablen van radiobuttons in een aparte functie zetten.


function disableRadio(radiobuttons) {
for ( k = 0; k < radiobuttons.length; k++) radiobuttons[k].disabled = true;
}


Dat is dan direct ook zoveel regels code minder, je roept telkens dezelfde functie op en geeft dan frm.radio1 , frm.radio2 , ... op als argument. (dus disableRadio(frm.radio1), disableRadio(frm.radio2) , ... )

yvdp
19-10-2003, 20:10
ok, thx... echt waar
ik zal je mijn resultaten laten bekend maken.

MERCIKES

yvdp
19-10-2003, 20:33
yes, het werkt
merci fleabite, u rock.
:)

FleaBite
19-10-2003, 22:00
np :)

yvdp
20-10-2003, 20:13
moesten er nog tips zijn mag je deze natuurlijk allemaal geven hé. Moest er iets beter kunnen of staat er een fout op.:)
merci aan oneliner om toch al op een paar zaken te wijzen:D