Almöhi: Testen, ob Radiobutton aktiviert wurde

Hi Leute,

ich kann nicht nachvollziehen warum der Test, ob ein Radio Button aktiviert wurde, nicht funzt:

if(document.bewerbung.anrede.checked == false)
 {
   alert("Bitte wählen Sie eine Anrede !");
   document.bewerbung.anrede.focus();
   return false;
 }

Kann ich das nicht so schreiben?

Danke

  1. Hallo

    ich kann nicht nachvollziehen warum der Test, ob ein Radio Button aktiviert wurde, nicht funzt:

    if(document.bewerbung.anrede.checked == false)
     {
       alert("Bitte wählen Sie eine Anrede !");
       document.bewerbung.anrede.focus();
       return false;
     }

    Kann ich das nicht so schreiben?

    Wenn man eine Anrede wählen muss, müssen es ja zwei sein oder?
    Was genau funtzt nicht? Kommt keine ausgabe? Das würde richtig sein, falls du einen Radiobutton von anfang an ein checked gibst.

    Du solltest beide Radiobuttons abfragen.

    Hilft dir das weiter?

    Um dir richtig hilfe zu leisten, wäre es gut, wenn du einen Link dieser Seite hier reinschreibst.

    Gruss
    Michy

    1. Hi,

      ich kann nicht nachvollziehen warum der Test, ob ein Radio Button aktiviert wurde, nicht funzt:

      if(document.bewerbung.anrede.checked == false)
       {
         alert("Bitte wählen Sie eine Anrede !");
         document.bewerbung.anrede.focus();
         return false;
       }

      Danke für Deine Antwort. Habe nun beide abgefragt und es funzt.
      Aber wie gebe ich einem Radio Button den fokus?

      Danke

      1. Hallo
        es freut mich dass ich dir helfen konnte.

        Danke für Deine Antwort. Habe nun beide abgefragt und es funzt.
        Aber wie gebe ich einem Radio Button den fokus?

        Du meinst, dass er bereits markiert ist?
        mit checked:

        <input type="radio" ... checked>

        Gruss Michy

        1. Hi,

          Du meinst, dass er bereits markiert ist?
          mit checked:

          <input type="radio" ... checked>

          Nein am Anfang ist ja nix ausgewählt.
          Sollte der Besucher vergessen, einen zu aktivieren sollten die DInger den Fokus bekommen. Habe es schon versucht, aber document.bewerbung.anrede.focus() hat mit jedesmal die anderen Felder gelöscht.

          Danke

          1. Hidiho,

            Sollte der Besucher vergessen, einen zu aktivieren sollten die DInger den Fokus bekommen. Habe es schon versucht, aber document.bewerbung.anrede.focus() hat mit jedesmal die anderen Felder gelöscht.

            Ich bin jetzt zu faul, den Code zu ändern, aber mit JS habe ich das mal so gemacht:

            Im head:
            <script type="text/javascript">
            <!--
              function chkFormular()
              {
              if(document.Anmeldung.Vorname.value == "")  {
                alert("Bitte Ihren Namen eingeben!");
                document.Anmeldung.Vorname.focus();
                return false;
                }
              }
            //-->
            </script>

            Und im Body:
            <form [...] onSubmit="return chkFormular()">

            Viele Grüße
            Torsten

            --
            Dieses Posting kommt ohne Garantie auf Vollständigkeit, Richtigkeit und Funktionalität. Geposteter Quelltext ist, soweit nicht anders angegeben, ungetestet.
            ss:| zu:) ls:] fo:) de:[ va:| ch:? sh:( n4:~ rl:? br:> js:| ie:% fl:( mo:)
            1. Hi,

              Ich bin jetzt zu faul, den Code zu ändern, aber mit JS habe ich das mal so gemacht ...

              Ja mit Checkboxen klappt es auch. Nur nicht mit Radio Buttons.
              Weil da ja kein Cursor reinpasst.
              Aber das Formular ist sehr lang. Ich möchte nicht das der Besucher immer wieder rauf scrollen muss, wenn er etwas vergessen hat.

              Danke

              1. Hallöle,

                Ja mit Checkboxen klappt es auch. Nur nicht mit Radio Buttons.

                Doch.

                Weil da ja kein Cursor reinpasst.

                Das hat mit focus() nichts zu tun.

                Ich habe das alte Formular mal hochgeladen: http://www.siechfreds-welt.de/selftest/test.html.
                "Freitag ab 17:00 Uhr", dort ist bei "Teilnahme" ein Radiobutton. Gib mal einen Namen ein, lass den Radiobutton frei und scrolle ans Ende zu "Anmelden", dann kommt ein Hinweis und danach ist der Focus auf den Radiobutton (da ist dann ein gepunkteter Rahmen drum).

                Viele Grüße
                Torsten

                --
                ss:| zu:) ls:] fo:) de:[ va:| ch:? sh:( n4:~ rl:? br:> js:| ie:% fl:( mo:)
                1. Meinst Du etwa so?

                  if(document.bewerbung.anrede[0].checked == false ||    document.bewerbung.anrede[1].checked == false)
                   {
                     alert("Bitte wählen Sie eine Anrede !");
                     document.bewerbung.anrede[0].focus();
                     return false;
                   }

                  Haut aber auch nich hin!

                  alert("Bitte wählen Sie eine Anrede !");
                     document.bewerbung.anrede.focus();
                     return false;

                  geht auch nicht.

                2. Hi,
                  ich fass es nicht. Jetzt klappt es zu gut.
                  Jetzt will er immer zu der Stelle.
                  Auch wenn ein Button aktiviert ist, denkt er es sei nicht der Fall:

                  if((document.bewerbung.anrede[0].checked == false) || (document.bewerbung.anrede[1].checked == false))
                   {
                     alert("Bitte wählen Sie eine Anrede !");
                     document.bewerbung.anrede[0].focus();
                     return false;
                   }

                  Danke

                  1. Hallöle,

                    ich fass es nicht. Jetzt klappt es zu gut.
                    Jetzt will er immer zu der Stelle.
                    if((document.bewerbung.anrede[0].checked == false) [...]

                    ^^^^^^^^^

                    Ist das _wirklich_ der Name des Radiobuttons?

                    document.bewerbung.anrede[0].focus();

                    Wenn du anrede[0] _oder_ anrede[1] abfragst, solltest du auch anrede[0] _oder_ anrede[1] den Fokus geben. Mach vielleicht besser zwei Funktionen draus.

                    Viele Grüße
                    Torsten

                    --
                    Dieses Posting kommt ohne Garantie auf Vollständigkeit, Richtigkeit und Funktionalität. Geposteter Quelltext ist, soweit nicht anders angegeben, ungetestet.
                    ss:| zu:) ls:] fo:) de:[ va:| ch:? sh:( n4:~ rl:? br:> js:| ie:% fl:( mo:)
                    1. Habe den Fehler!

                      Es muss && heißen und nicht ||!

                      Danke trotzdem!

              2. Hy

                Aber das Formular ist sehr lang. Ich möchte nicht das der Besucher immer wieder rauf scrollen muss, wenn er etwas vergessen hat.

                Bei diesem Probelm kannst du ein Anker setzen.

                Gruss Michy