Checkbox
Leggy
- javascript
0 Arthur Dent0 Leggy
0 Leggy0 Der Martin0 Leggy
0 Struppi
Hallo,
hab ein kleines Problem mit den Checkboxen.
Habe 3 Felder, eines muss der User anwählen.
Falls er keines wählt erhält er eine Meldung.
Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.
Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
Kann mir jemand helfen?
So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}
<input type="checkbox" name="box1" value="ON"
<input type="checkbox" name="box2" value="ON"
<input type="checkbox" name="box3" value="ON"
Gruß
Leggy
Hi,
hab ein kleines Problem mit den Checkboxen.
Habe 3 Felder, eines muss der User anwählen.
Falls er keines wählt erhält er eine Meldung.
Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.
So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}
Verstehe ich das richtig, dass der User MINDESTENS eine Checkbox auswählen muss?
In dem Fall kannst du deine Überprüfung doch für alle Checkboxen durchführen. Statt dem alert() nimmst du eine Variable, welche mit false initialisiert wird, und nur dann auf true gesetzt wird, wenn eine Checkbox gecheckt ist (hier musst du natürlich auf checked==true überprüfen *g).
Nach dieser Überprüfung wertest du diese Variable aus, und wenn sie immernoch false ist, dann gibst du die Meldung aus.
Gruß,
Arthur D.
Hallo Arthur,
sorry, hab mir selbst geantwortet.
Viele Dank für deine Antwort, komme aber so nicht weiter.
Gruß
Leggy
Hi,
hab ein kleines Problem mit den Checkboxen.
Habe 3 Felder, eines muss der User anwählen.
Falls er keines wählt erhält er eine Meldung.
Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}Verstehe ich das richtig, dass der User MINDESTENS eine Checkbox auswählen muss?
In dem Fall kannst du deine Überprüfung doch für alle Checkboxen durchführen. Statt dem alert() nimmst du eine Variable, welche mit false initialisiert wird, und nur dann auf true gesetzt wird, wenn eine Checkbox gecheckt ist (hier musst du natürlich auf checked==true überprüfen *g).
Nach dieser Überprüfung wertest du diese Variable aus, und wenn sie immernoch false ist, dann gibst du die Meldung aus.Gruß,
Arthur D.
Hallo Arthur,
vielen Dank für deine Anwort.
Genau 1 Feld muss Pflicht sein.
Könntest du mir weiterhelfen?
Bin leider kein Profi und habe ein paar
Möglichkeiten probiert, is nich.
Wie müsste das Script aussehen?(für Dummies)
Gruß
Leggy
Hallo,
hab ein kleines Problem mit den Checkboxen.
Habe 3 Felder, eines muss der User anwählen.
Falls er keines wählt erhält er eine Meldung.
Wenn er ein Feld markiert geht es mit der Formular-Eingabe weiter.
Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
Kann mir jemand helfen?
So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}
<input type="checkbox" name="box1" value="ON"
<input type="checkbox" name="box2" value="ON"
<input type="checkbox" name="box3" value="ON"
Gruß
Leggy
Hallo,
Hallo Arthur,
wenn du schon auf Arthurs Beitrag reagierst, dann antworte ihm doch bitte auch direkt, anstatt dir selbst.
Genau 1 Feld muss Pflicht sein.
Dann frage ich mich, warum du dann Checkboxen gewählt hast. Für eine Auswahl von genau 1 aus n eignen sich eigentlich Radiobuttons optimal.
Dann könntest du dir sogar die Javascript-Prüfung sparen, weil schon konstruktionsbedingt immer genau ein Feld ausgewählt ist.
So long,
Martin
PS: Ach ja, TOFU muss ja auch nicht unbedingt sein!
Hallo,
ich hoffe, dass ich dem Richtigen antworte.
Es Muss mind. eine Box, können aber auch alle drei Boxen
markiert werden.
Vielleicht erbamt sich jemand, dieses Script zu ergänzen.
Ich weiss, learning by doing, aber funzt nicht.
Ich brauch eine Lösung, mit Tipps komme ich (noch) nicht weiter.
Wer kann mir helfen?
Viele Grüße
Leggy
Hallo,
Hallo Arthur,
wenn du schon auf Arthurs Beitrag reagierst, dann antworte ihm doch bitte auch direkt, anstatt dir selbst.
Genau 1 Feld muss Pflicht sein.
Dann frage ich mich, warum du dann Checkboxen gewählt hast. Für eine Auswahl von genau 1 aus n eignen sich eigentlich Radiobuttons optimal.
Dann könntest du dir sogar die Javascript-Prüfung sparen, weil schon konstruktionsbedingt immer genau ein Feld ausgewählt ist.So long,
MartinPS: Ach ja, TOFU muss ja auch nicht unbedingt sein!
Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
Kann mir jemand helfen?So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}
Du hast nicht verraten, wann du die Funktion aufrufst, du musst sie natülrich beim abschicken (onsubmit) aufrufen und den Rückgabwert dem Handler mitteilen.
also in etwa so onsubmit="return deineFunktion(this);"
Struppi.
Hallo Struppi,
ist eine Anmeldung die dann per php weitergeleitet wird.
Funzt ja auch alles.
Nur die Checkboxen machen trouble.
Einzelbox ist kein Problem.
Wie gsagt, User muss min. eine wählen.
Danach gibt er seine Mailadresse an und kanns versenden.
Gruß
Leggy
Habe hier schon viel gelesen, aber noch keine Lösung gefunden.
Kann mir jemand helfen?So wird natürlich nur box1 gecheckt:
if(document.eingabe.box1.checked == false){
alert("Bitte die Satzung lesen!");
document.eingabe.box1.focus();
return false;
}Du hast nicht verraten, wann du die Funktion aufrufst, du musst sie natülrich beim abschicken (onsubmit) aufrufen und den Rückgabwert dem Handler mitteilen.
also in etwa so onsubmit="return deineFunktion(this);"
Struppi.
Nur die Checkboxen machen trouble.
Einzelbox ist kein Problem.
Wie gsagt, User muss min. eine wählen.
Danach gibt er seine Mailadresse an und kanns versenden.
Genau, wenn du die Prüfung so einbaust wie ich es vorschlug.
Struppi.