rolloMedlem sedan aug. 2001203 inlägg Hej!
Jag har ett javascript, se nedan, som kollar ett formulär när man trycker på submit-knappen
if (document.needs.name.value==""){
alert("Du måste ange namn!");
document.needs.name.focus();
document.alert1.src=alertimage2.src
return false;
}
Men, hur gör jag om jag skall kolla en radiobutton också?
Har försökt med följande, men det skiter sig!
if (document.needs.plats[Helsingborg].checked){
alert("Du måste ange plats!");
//document.needs.plats.focus();
//document.alert3.src=alertimage2.src
return false;
}
Thx and have a good day!
rollo
JojoxxMedlem sedan juni 20004 308 inlägg Du är på rätt väg. Där du skriver Helsingborg anges indexet för radio-knappen i gruppen plats (från 0 och uppåt). Helsingborg i ditt exempel skulle alltså kunna vara en variabel som innehåller 0, vilket då skulle kolla om den första radio-knappen med namnet "plats" var markerad.
rolloMedlem sedan aug. 2001203 inlägg det funkade inte, men fick ett annat tips också om att göra så här
var IngenIkryssad = false;
for( var i=0; i<document.needs.plats.length; i++) {
if( document.needs.plats[i].checked ) {
IngenIkryssad = true;
break;
}
}
if ( IngenIkryssad){
alert("Du måste ange plats!");
//document.needs.plats.focus();
//document.alert3.src=alertimage2.src
return false;
}
Dock så "klagar" den när man valt plats och inte om man inte valt plats.
Tar jag bort .checked så klagar den när det inte är i fyllt, men även om jag väljer det ena alternativet så slutar den inte att "klaga"
Koden i formuläret
<form name="needs" action="inc/kontakt_db_pf.asp" onSubmit="return fnCheckForInfo();" method="post">
<br>
Plats: *
<br><br>
<INPUT type="radio" name="plats" value="Helsingborg"> 2002-08-01, Helsingborg, Kongress Center
<br>
<INPUT type="radio" name="plats" value="Stockholm"> 2002-08-03, Stockholm, World Trade Center
<br><br>
rolloMedlem sedan aug. 2001203 inlägg för er som skall göra samma sak så har jag lösningen här!
var IngenIkryssad = false;
for( var i=0; i<document.needs.plats.length; i++) {
if( document.needs.plats[i].checked ) {
IngenIkryssad = true;
break;
}
}
if (!IngenIkryssad){
alert("Du måste ange plats!");
//document.needs.plats.focus();
//document.alert3.src=alertimage2.src
return false;
}
return true;
}
rollo
JojoxxMedlem sedan juni 20004 308 inlägg Jodå, det fungerar i den bemärkelse funktionen är beskriven, att bara kolla ifall en specifik ruta är vald. Annars får du som sagt loopa. Men med valet av variabelnamn borde det vara tvärt om "IngenIkryssad" blir sann (true) om någon är markerad -- lite baklänges :) (även om det fungerar).
var IngenIkryssad = true;
for( var i=0; i<document.needs.plats.length; i++) {
if( document.needs.plats[i].checked ) {
IngenIkryssad = false;
}
}
if (IngenIkryssad){
alert("Du måste ange plats!");
return false;
}
return true;