werner: radiobuttons und checkboxen überprüfen

hallo!

ich habe für meine diplarbeit den fragebogen auf php umgesetzt:
http://study.wch.at/diplarbeit/fragebogen/fragebogen.php

die felder überprüfe ich mit der methode, die auch in der selfhtml vorgestellt wird. mein script liegt hier: http://study.wch.at/diplarbeit/fragebogen/check.js

nun meine fragen:

  1. wie überprüfe ich mit java-script, ob ein radio-button feld ausgewählt ist?

  2. wie überprüfe ich , ob von mehreren Checkboxen wenigstens
    eine ausgewählt ist?

  3. wie überprüfe ich bei den reihungen (frage 5 - 9), ob jede zahl genau 1 mal vergeben ist?

vielen dank schon jetzt für eure hilfe!

grüsse,
werner

  1. hi,

    radiobuttons und checkboxen überprüfst du mit "document.....checked"

    bei den feldern würde ich zuerst überprüfen ob in allen eine zahl drinsteht.
    dann würde ich die felder zusammenzählen, denn es kann nur 21 herauskommen, wenn alle felder gesetzt wurden.
    und dann kannst du noch mit einer schleife testen ob der wert in den einzelnen feldern keinem in den anderen Feldern gleicht.

    hoffe das hilft

    1. hallo!

      danke erstmal für die antwort. leider funktioniert es so nicht:

      if(document.form1.geschlecht.value <> checked)
       { alert("Bitte geben Sie Ihr Geschlecht an!");
         document.form1.geschlecht.focus();
         return false;
       }

      auch != checked geht nicht.

      was mach ich falsch?
      das mit dem zusammenzählen ist eine gute idee.

      und dann kannst du noch mit einer schleife testen ob der wert in den einzelnen feldern keinem in den anderen Feldern gleicht.

      theoretisch klar. praktisch keine ahnung.

      danke danke danke!

      liebe grüsse,
      werner

      hi,

      radiobuttons und checkboxen überprüfst du mit "document.....checked"

      bei den feldern würde ich zuerst überprüfen ob in allen eine zahl drinsteht.
      dann würde ich die felder zusammenzählen, denn es kann nur 21 herauskommen, wenn alle felder gesetzt wurden.
      und dann kannst du noch mit einer schleife testen ob der wert in den einzelnen feldern keinem in den anderen Feldern gleicht.

      hoffe das hilft

      1. if(document.form1.geschlecht.value <> checked)

        gehört so: if(document.form1.geschlecht.checked)

        sollte funzen

        das mit der schleife ist etwas schwerer, habs selbst noch nie gemacht.
        versuche die felder mit IDs zu versehen und dann in einer for-Schleife sie mit if (document.form1.elements[i].value) zu vergleichen.

        Da musst du etwas rumprobieren, wie gesagt einfach ist es nicht aber ich denke das es das richtige ist.

        1. so hab ichs jetzt gemacht:

          if(document.form1.geschlecht.checked) { return true; }
           else
           { alert("Bitte geben Sie Ihr Geschlecht an!");
             document.form1.geschlecht.focus();
             return false;
           }

          da wird zwar das alert angezeigt, wenn nichts ausgewählt ist, aber wenn man dann mit ok bestätigt übergibt er das formular doch (was ja nicht passsieren sollte).

          es schein das return false nicht zu funktionieren. das steht auch in der js fehlermeldung.

          grüsse,
          werner

          if(document.form1.geschlecht.value <> checked)

          gehört so: if(document.form1.geschlecht.checked)

          sollte funzen

          das mit der schleife ist etwas schwerer, habs selbst noch nie gemacht.
          versuche die felder mit IDs zu versehen und dann in einer for-Schleife sie mit if (document.form1.elements[i].value) zu vergleichen.

          Da musst du etwas rumprobieren, wie gesagt einfach ist es nicht aber ich denke das es das richtige ist.

          1. achso darum gehts.

            dann würde ich das zuerst eine variable senden=true anlegen.
            die wird dann immer auf false gesetzt, wenn was im formular nicht stimmt.
            und erst wenn sie true bleibt das formular senden
            also: if(senden) form1.submit();

            1. gehts nicht mir so einer if abfrage?
              is einfacher, oder?

              achso darum gehts.

              dann würde ich das zuerst eine variable senden=true anlegen.
              die wird dann immer auf false gesetzt, wenn was im formular nicht stimmt.
              und erst wenn sie true bleibt das formular senden
              also: if(senden) form1.submit();