Formularcheck - wie, dass bei Fehler nicht weiter?
eMatt
- javascript
Hallo allerseits!
Ich möchte bei meinem Formular überprüfen, ob alle Felder richtig ausgefüllt sind und falls nicht, eine Fehlermeldung bringen. Soweit funktioniert das auch, nur geht es dann trotzdem zur Antwortseite und bleibt nicht auf dem Formular. Ich krieg das einfach nicht hin. Hab schon mehrere Varianten probiert, darunter zwei aus nem Javascript-Buch - ohne Erfolg.
Da das Formular im Intranet publiziert wird kann ich leider nicht darauf verlinken. Deswegen hier der relevante Code:
<script type="text/javascript">
<!-- JavaScript vor nicht JavaScript-fähigen Browsern verstecken
function BeiClick() {
var korrektOderNicht = true;
if (document.Formular.A_KenntUnsVon[0].checked==false && document.Formular.A_KenntUnsVon[1].checked==false &&
document.Formular.A_KenntUnsVon[2].checked==false && document.Formular.A_KenntUnsVon[3].checked==false &&
document.Formular.A_KenntUnsVon[4].checked==false && document.Formular.A_KenntUnsVon[5].checked==false &&
document.Formular.A_KenntUnsVon[6].checked==false) {
korrektOderNicht = false;
//return false;
window.alert("Sie müssen etwas auswählen um mit der Umfrage fortfahren zu können!");
location.href="http://www.intranet.undsoweiter.dieseSeite.htm";}
}
function AnderesAktiviert() {
if (document.Formular.B_anderesEingabe.value != "" && document.Formular.A_KenntUnsVon[0].checked==false &&
document.Formular.A_KenntUnsVon[1].checked==false && document.Formular.A_KenntUnsVon[2].checked==false &&
document.Formular.A_KenntUnsVon[3].checked==false && document.Formular.A_KenntUnsVon[4].checked==false &&
document.Formular.A_KenntUnsVon[5].checked==false && document.Formular.A_KenntUnsVon[6].checked==false) {
document.Formular.A_KenntUnsVon[6].checked = true;}
}
//-->
</script>
Und Aufrufen mit 'onsubmit="return BeiClick()"' im Form-Tag.
Die auskommentierte Variante hab ich auch schon probiert, dann natürlich ohne die extra Variable und ohne "return" im Aufruf. Aber dann bringt er mir nicht mal mehr meine Fehlermeldung.
Und theoretisch müsste es doch auch ohne 'location.href="http://www.intranet.undsoweiter.dieseSeite.htm";' in der If-Abfrage gehen, oder?
Hat jemand eine Idee? Wäre echt dankbar!
Gruß,
eMatt
Hallo,
im Fehlerfall sollte Deine Funktion 'return false' zurückliefern.
Grüße,
Katharina
Hallo,
deine Funktion könnte
onsubmit="return pruefe_formular(this)"
lauten:
function pruef_formular(form) {
var korrekt=false;
var radios=form.elements["A_KenntUnsVon"];
for( var i=0;i< radios.length;i++) {
if( radios[i].checked ) korrekt=true;
}
return korrekt;
}
Gruß plan_B
Hey plan_B!
Funktioniert! Vielen Dank! Hab jetzt auch das Prinzip kapiert.
Gruß,
eMatt
Ahoi eMatt,
Funktioniert! Vielen Dank! Hab jetzt auch das Prinzip kapiert.
sicher? deaktivier mal JS
MfG