maxime: Bitte Hilfe Formular mit Radiobutton geht nicht

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>

  1. 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

    --
    no strict;
    no warnings;
    Selbstcode: (_*_) ^_^ ( . ) ( . ) :-(bla)
  2. 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

    --
    Debugging is at least twice as hard as writing the program in the first place.
    So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.
    1. 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>

      1. 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

        --
        Debugging is at least twice as hard as writing the program in the first place.
        So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.