Bitte Hilfe Formular mit Radiobutton geht nicht
maxime
- javascript
Hallo,
irgendwie bekomme ich das nicht hin.
die Eintragung des Formulars in die MYsql DB funktioniert einwandfrei.
Leider kann ich das von der Formularprüfung mittels Javascript nicht behaupten. (Es wird garnichts geprüft) Ich habe die Befürchtung, ich unterliege einem Denkfehler!!
Das Formular besteht fast nur auch Radiobuttons. Ich habe mal der Übersichtlichkeit die meisten weggelassen und nur einen Wert unten dargestellt.
Kann mir jemand helfen?
____________________________________
<html>
<head>
<script type="text/javascript">
<!--
function chkFormular()
{
if (form.eat[0].checked==false && form.eat[1].checked==false) checkeat=false;
if(checkeat==0) {
alert("Sie haben unter Punkt 1 vergessen anzugeben, ob Sie schon einmal essen waren!");
return false;
}
}
</script>
</head>
<body>
<form action="senden.php" method="post" onSubmit="return chkFormular(this)">
<table>
<tr>
<td width="484" height="21">
<b><font face="Arial"> 1. Waren Sie schon im essen?</font></b></td>
<td width="74" colspan="4" height="21"><b>
<font face="Arial">
<input type="radio" name="eat" value="1">ja</font></b></td>
<td width="119" colspan="4" height="0"><b>
<font face="Arial">
<input type="radio" name="eat" value="0">nein</font></b></td>
</tr>
</table>
<input type ="submit" name="senden" value="Abschicken"></p>
</form>
</body>
</html>
Hallo,
{
if (form.eat[0].checked==false && form.eat[1].checked==false) checkeat=false;if(checkeat==0) {
alert("Sie haben unter Punkt 1 vergessen anzugeben, ob Sie schon einmal essen waren!");
return false;
}
}
du musst ersteinmal, wenn du es so machen willst die variable mit
var checkeat=true; initialisieren, weil die variable in diesem fall immer false sein wird, weil sie nicht initialisiert wird.
<body>
<form action="senden.php" method="post" onSubmit="return chkFormular(this)">
dann brauch dein formular noch einen name tag z.b. name="formulauno"
und dann erst kannst du die radios mit formulauno.eat[..].checked ansprechen, weil wenn du form.eat kennt der browser hier nicht als deine form.
hoffe das hilft schon mal
gruss
Halihallo maxime
function chkFormular()
^^^ chkFormular(form) {...}
Du greifst anschliessend auf das undefinierte "form" zu. Dieses wird
nirgens definiert. Entweder du liest es über die Funktions-Parameter
ein, oder du verwendest die globale "document.forms[0]."
Referenzierung.
{
if (form.eat[0].checked==false && form.eat[1].checked==false) checkeat=false;if(checkeat==0) {
alert("Sie haben unter Punkt 1 vergessen anzugeben, ob Sie schon einmal essen waren!");
return false;
}
}
und was soll passieren, wenn keine Fehler da sind? - Das Formular
soll versendet werden, hierfür fehlt jedoch ein "return true;".
<form action="senden.php" method="post" onSubmit="return chkFormular(this)">
Also, this übergibst du zwar, liest es jedoch in der JS-Funktion
nicht aus...
Viele Grüsse
Philipp
So, die Änderungen habe ich gemacht, aber es geht immer noch nicht.
Jetzt meldet das Script immer: "...Sie haben unter Punkt...."
egal ob das Radiobutton an ist oder nicht.
Was fehlt denn noch?? könnt Ihr nochmal helfen?
Grüßle Maxime
__________________________________________________
<html>
<head>
<script type="text/javascript">
<!--
function chkFormular(form1)
{
if (form1.eat[0].checked==false && form1.eat[1].checked==false) checkeat=0;
if(checkeat==0) {
alert("Sie haben unter Punkt 1 vergessen anzugeben, ob Sie schon einmal essen waren!");
return false;
}
}
</script>
</head>
<body>
<form name="form1" action="senden.php" method="post" onSubmit="return chkFormular(this)">
<table>
<tr>
<td width="484" height="21">
<b><font face="Arial"> 1. Waren Sie schon im essen?</font></b></td>
<td width="74" colspan="4" height="21"><b>
<font face="Arial">
<input type="radio" name="eat" value="1">ja</font></b></td>
<td width="119" colspan="4" height="0"><b>
<font face="Arial">
<input type="radio" name="eat" value="0">nein</font></b></td>
</tr>
</table>
<input type ="submit" name="senden" value="Abschicken" onclick="return chkFormular(form1)"></p>
</form>
</body>
</html>
Halihallo Maxime
Was fehlt denn noch?? könnt Ihr nochmal helfen?
Du möchtest nochmals Eternius'es Posting lesen und seinen ersten
Hinweis implementieren.
Viele Grüsse
Philipp