Thomas: CheckForm

In meinem Formular benutze ich Optionskästchen, die ich nun abfragen will, ob überhaupt eines davon angekreuzt ist. Das nicht mehr als eines angekreuzt sein kann ist auch mir bekannt. Der Sinn darin liegt, dass die Seite "post.asp" nicht aufgerufen wird, wenn kein Kästchen ausgewählt ist. Da diese einen Leerwert nicht verkraftet.

Mein Formular:
<form ACTION="post.asp" METHOD="POST" NAME="Questionsheet">
  <input type="hidden" name="User" value="<%=User%>">
  <div align="center"><center><table border="0" cellspacing="1" width="90%" cellpadding="0">
    <tr>
      <td bgcolor="#C8FFFF" width="70%">Wie beurteilen sie ...?</td>
      <td width="30%" bgcolor="#E6E6E6"><input TYPE="radio" VALUE="keine Antwort" NAME="Antwort"
      tabindex="1"> keine Antwort <br>
      <input TYPE="radio" VALUE="ungenuegend" NAME="Antwort" tabindex="2"> ungenügend <br>
      <input TYPE="radio" VALUE="genuegend" NAME="Antwort" tabindex="3"> genügend <br>
      <input TYPE="radio" VALUE="gut" NAME="Antwort" tabindex="4"> gut <br>
      <input TYPE="radio" VALUE="sehr gut" NAME="Antwort" tabindex="5"> sehr gut </td>
    </tr>
  </table>
  </center></div><div align="center"><center><p><input TYPE="submit" VALUE="Frage beantworten" NAME="send" tabindex="6" size="20"> </p>
  </center></div>
</form>

Ich glaube, irgendwer wird mir schon weiterhelfen können.
   Thomas

  1. Hallo Thomas

    In meinem Formular benutze ich Optionskästchen, die ich nun abfragen will, ob überhaupt eines davon angekreuzt ist.

    Bevor Du irgendwas Kompliziertes in JavaScript programmierst, mach's doch ganz einfach mit HTML, indem Du eine der Optionen als "Default" aktivierst, z.B.:

    <input TYPE="radio" VALUE="sehr gut" NAME="Antwort" tabindex="5" CHECKED> sehr gut

    viele Gruesse
      Stefan Muenz

    1. Bevor Du irgendwas Kompliziertes in JavaScript programmierst, mach's doch ganz einfach mit HTML, indem Du eine der Optionen als "Default" aktivierst.

      Diese Lösung hatte ich auch vorgeschlagen, aber mein Chef will keinen Defaultwert, da ansonsten alle DAU's diesen Wert in die Datenbank eintragen!
      Der Chef bestimmt! So ist das Leben.

      1. Hallo Thomas,

        Diese Lösung hatte ich auch vorgeschlagen, aber mein Chef will keinen Defaultwert, da ansonsten alle DAU's diesen Wert in die Datenbank eintragen!
        Der Chef bestimmt! So ist das Leben.

        OK, dann schnapp dir mal das Beispiel auf <../../tedf.htm>.
        In der JavaScript-Funktion chkFormular() musst Du etwa so etwas notieren wie:

        flag = 0;
        for(i=0;i<=document.Questionsheet.Antwort.length;i++)
        if(document.Questionsheet.Antwort[i].checked == true)
            flag = 1;
        if(flag  == 0)
        {
             alert("Bitte eine Beurteilungsoption ankreuzen!");
             return false;
        }

        Ich hab das jetzt nicht ausprobiert, kann sein, das Fehler drin sind. Aber probier's mal.

        viele Gruesse
          Stefan Muenz

  2. In meinem Formular benutze ich Optionskästchen, die ich nun abfragen will, ob überhaupt eines davon angekreuzt ist. Das nicht mehr als eines angekreuzt sein kann ist auch mir bekannt. Der Sinn darin liegt, dass die Seite "post.asp" nicht aufgerufen wird, wenn kein Kästchen ausgewählt ist. Da diese einen Leerwert nicht verkraftet.

    Mein Formular:
    <form ACTION="post.asp" METHOD="POST" NAME="Questionsheet">
      <input type="hidden" name="User" value="<%=User%>">
      <div align="center"><center><table border="0" cellspacing="1" width="90%" cellpadding="0">
        <tr>
          <td bgcolor="#C8FFFF" width="70%">Wie beurteilen sie ...?</td>
          <td width="30%" bgcolor="#E6E6E6"><input TYPE="radio" VALUE="keine Antwort" NAME="Antwort"
          tabindex="1"> keine Antwort

    <input TYPE="radio" VALUE="ungenuegend" NAME="Antwort" tabindex="2"> ungenügend

    <input TYPE="radio" VALUE="genuegend" NAME="Antwort" tabindex="3"> genügend

    <input TYPE="radio" VALUE="gut" NAME="Antwort" tabindex="4"> gut

    <input TYPE="radio" VALUE="sehr gut" NAME="Antwort" tabindex="5"> sehr gut </td>
        </tr>
      </table>
      </center></div><div align="center"><center>

    <input TYPE="submit" VALUE="Frage beantworten" NAME="send" tabindex="6" size="20"> </p>
      </center></div>
    </form>

    Ich glaube, irgendwer wird mir schon weiterhelfen können.
       Thomas

    Hallo,
    Hast Du schonmal versucht statt dem "input-TYPE" "submit" den "input-TYPE" "button" zu nehmen, an diesen button dann einen EVENT-handler onClick zu hängen, der eine JS-Function aufruft, die die Eingabe überprüft und bei erfolgreicher Prüfung dann die nächste Seite aufruft?

    Hilfe dazu findest Du ab <../../tec.htm> = JavaScript-Objektreferenz und zum Eventhandler onClick auf <../../tebj.htm#a5>.

    Viel Spaß

    Michael

  3. In meinem Formular benutze ich Optionskästchen, die ich nun abfragen will, ob überhaupt eines davon angekreuzt ist. Das nicht mehr als eines angekreuzt sein kann ist auch mir bekannt. Der Sinn darin liegt, dass die Seite "post.asp" nicht aufgerufen wird, wenn kein Kästchen ausgewählt ist. Da diese einen Leerwert nicht verkraftet.

    Ich glaube, irgendwer wird mir schon weiterhelfen können.
       Thomas

    Hi Thomas
    wenn deine Post.asp keinen Leerwert verkraftet, warum aktivierst du nicht einfach eines der Optionsfelder? Dann hättest du keinen Leerwert, und somit auch keine Probleme.

    Ich würde das ganze nicht so:
    <input TYPE="radio" VALUE="keine Antwort" NAME="Antwort"
    tabindex="1" > keine Antwort <br>

    sondern so:
    <input TYPE="radio" VALUE="keine Antwort" NAME="Antwort"
    tabindex="1" checked> keine Antwort <br>

    schreiben, dann hättest du keine probleme mit deiner post.asp.

    mfg
    Sven Huber