Umfrage mit Radiobuttons, Formlar sendet trotz Fehler
Dietmar Kränzle
- javascript
0 Mulder0 herbalizer0 Penfold0 herbalizer
Hi Leute,
wahrscheinlich schon tausendmal gefragt, tausendmal gantwortet - hab aber nix gefunden für meinen Fall:
Eine Umfrage mit verschiedenen Radiobuttons-Gruppen, danach Eintrag von Name, E-Mail usw.
Ich möchte prüfen, ob alle Punkte bewertet wurden und ob Name, E-Mail usw. angegeben werden.
Hab eigentlich schon ein tolles Script, nur interessiert den Browser meine Bedingungen nicht - egal ob bewertet wurde oder nicht, Fehlermeldung kommt und das Formular wird _trotzdem_ gesendet. Ich möchte, dass er das Senden abbricht! Erst wenn alle Punkte bewertet sind soll Name usw. geprüft werden und erst dann senden...
Möchte jemand bitte mal drüberkucken, bin wirklich SUPERDANKBAR für jede Hilfe:
function chkKontaktformular()
{
Bewertung = 0;
if(document.Kontaktformular.Finden.checked == true && document.Kontaktformular.Schnelligkeit.checked == true && document.Kontaktformular.Navigation.checked == true && document.Kontaktformular.Design.checked == true && document.Kontaktformular.Inhalt.checked == true && document.Kontaktformular.Interaktion.checked == true) Bewertung = 1;
if(Bewertung == 0)
{
alert("Das Formular wurde nicht gesendet.\nBitte bewerten Sie alle Punkte.");
document.Kontaktformular.Finden.focus();
return false;
}
if(document.Kontaktformular.realname.value == "")
{
alert("Das Formular wurde nicht gesendet.\nGeben Sie Ihren Namen ein.");
document.Kontaktformular.realname.focus();
return false;
}
if(document.Kontaktformular.Adresse.value == "")
{
alert("Das Formular wurde nicht gesendet.\nGeben Sie Ihre Straße ein.");
document.Kontaktformular.Adresse.focus();
return false;
}
if(document.Kontaktformular.PLZ_Ort.value == "")
{
alert("Das Formular wurde nicht gesendet.\nGeben Sie Ihre PLZ und Ort ein.");
document.Kontaktformular.PLZ_Ort.focus();
return false;
}
}
Hi Leute,
wahrscheinlich schon tausendmal gefragt, tausendmal gantwortet - hab aber nix gefunden für meinen Fall:
Eine Umfrage mit verschiedenen Radiobuttons-Gruppen, danach Eintrag von Name, E-Mail usw.
Ich möchte prüfen, ob alle Punkte bewertet wurden und ob Name, E-Mail usw. angegeben werden.
Hab eigentlich schon ein tolles Script, nur interessiert den Browser meine Bedingungen nicht - egal ob bewertet wurde oder nicht, Fehlermeldung kommt und das Formular wird _trotzdem_ gesendet. Ich möchte, dass er das Senden abbricht! Erst wenn alle Punkte bewertet sind soll Name usw. geprüft werden und erst dann senden...
Du hast vermutlich ein <form onSubmit = "DeineCheckFkt();">.
Ich habe bisher nur eine Möglichkeit gefunden, die auf allen OS/Browser-Kombis zufriedenstellend funktioniert:
<form ...>
<input type = "button" (oder image) onClick = "checkForm();">
und dann
function checkForm()
{
...
if (!ok) alert('...');
else document.forms[0].submit();
}
... so, jetzt hab ich's umgestrickt - leider ohne Erfolg:
<input type="button" onClick="chkKontaktformular();"> (nur beim Button, nicht bei form, sonst kommt Meldung 2x)
function chkKontaktformular()
{
if(!document.Kontaktformular.Finden.checked == true)
alert("Das Formular wurde nicht gesendet.");
else document.Kontaktformular.submit();
}
Zwar wird das Formular "zum Glück" nicht gesendet, aber den Browser interessiert es auch keinen Meter, ob jetzt beim Radiobutton "Finden" checked oder nicht...
Hi Dietmar!
Wie, wo und wann wird die Funktion aufgerufen? Ist die Variable Bewertung der Parameter an dem entschieden wird ob, das Formular gesendet wird? Wenn ja: Hast du sie nur in deiner Funktion oder global deklariert (wie's sein sollte) also
var Bewertung = 0;
function chkKontaktformular() {..}
statt
function chkKontaktformular()
{
var Bewertung = 0;
..
}
Gruß Herbalizer
Funktionsaufruf ist in <form action> und beim <input type="submit" onsubmit>, aber ob die Variable global oder in der Funktion - es funzt nicht...
Tach!
sieht das Form-Tag bei Dir in etwa so aus:
<form name="form" method="post" action="danke.php3" onSubmit="return eingabe_pruefen();">
?
Liefert die in OnSubmit eingetragene Funktion ein false zurück wird das Formular nicht gesendet.
Hoffe das hilft?
mfg,
Penfold
Form-Tag sieht zwar so aus, aber genau da liegt der Hund begraben: return false wird ignoriert, Formular wird trotzdem gesendet...
Hi!
Eine Umfrage mit verschiedenen Radiobuttons-Gruppen, danach Eintrag von Name, E-Mail usw.
Du sprichst mit document.formular_name.radiobutton_name eine Liste von Radiobuttons mir dem selben Namen an. Diese Liste hat aber keine Eigenschaft checked so das document.formular_name.radiobutton_name.checked ein undefined zurück gibt. checked ist die eigenschaft der Elemente dieser Liste, also kann nur document.formular_name.radiobutton_name[Zahl].checked true oder false zurückgeben.
Gruß Herbalizer