dave.trudes: Frage zu document.form.radio[0].checked == true

Guten Abend!

Also ich habe 2 Radio Buttons (typ) und möchte diese via php ankreuzen:

Quelltext:
if ($typ == "A") {$checked = "0";}
if ($typ == "B") {$checked = "1";}
echo "document.form.typ[$checked].checked == true";

Das müsste ja eigenlich so klappen, oder?

Vielen lieben Dank

  1. Hi dave.trudes,

    Entweder du hast das falsche Themengebiet gewählt oder die falsche Syntax in deinen Code.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hallo Gunnar!

      Erstmals vielen Dank für deine Hilfe zu so einer späten Zeit :-)

      Entweder du hast das falsche Themengebiet gewählt oder die falsche Syntax in deinen Code.

      Das komische ist, dass beim Betrachten des html-Quelltexts alles in Ordnung zu sein scheint:
      document.form.typ[1].checked == true

      1. Hi dave.trudes,

        Du hättest meine Antwort ruhig als Frage auffassen können: Geht es dir um JavaScript oder um PHP?

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
        1. Hallo!

          Du hättest meine Antwort ruhig als Frage auffassen können: Geht es dir um JavaScript oder um PHP?

          Also es geht um beides. Hier nochmals eine kurze Beschreibung um den Sachverhalt besser zu beschreiben:

          <?php
          $typ = $_GET['typ'];
          if ($typ == "A") {$checked = "0";}
          if ($typ == "B") {$checked = "1";}
          $content = "<form name="form"...
                      <input type="radio" name="typ" value="N...
                      <input type="radio" name="typ" value="N...
                      <script language=...
                      document.SUCHE.typ[$checked].checked == true;
                      </script>"
          ?>

          $content wird dann in typo3 verwendet.

          1. <script language=...

            Die drei Punkte stehen für 9 Backspaces gefolgt von type="text/javascript">, nehm ich mal an?

            Live long and prosper,
            Gunnar

            --
            „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
            1. Die drei Punkte stehen für 9 Backspaces gefolgt von type="text/javascript">, nehm ich mal an?

              @Gunnar: Ja!

              @Struppi: Folgendes kommt im Browser an. Und ja, das Formular SUCHE, dass ich im angebenen Quelltextausschnitt versehentlich "form" genannt habe, existiert bereits.

              [browser output]
              document.SUCHE.zac.value = "*";
              document.SUCHE.typ[1].checked == true;

              Das option Element "zac" und auch alle anderen werden richtig ausgewählt (*) - daher vermute ich, dass das Formular SUCHE bereits existiert

              Vielen Dank für eure Mühen

              1. @Struppi: Folgendes kommt im Browser an. Und ja, das Formular SUCHE, dass ich im angebenen Quelltextausschnitt versehentlich "form" genannt habe, existiert bereits.

                Das hast du geprüft?

                z.b. mit alert(document.SUCHE.typ[1]);

                In der JS Konsole steht nichts?

                Struppi.

                1. In der Konsole steht nichts! Mit alert() habe ich es nicht überprüft :-(

                  Habe das Problem jetzt mittels php gelöst.

                  Auf jeden Fall vielen Dank für eure Hilfe

                  1. In der Konsole steht nichts! Mit alert() habe ich es nicht überprüft :-(

                    War auch nicht nötig, ich seh grad du hast ein Gleichheitszeichen zuviel gehabt.

                    Nicht: document.SUCHE.typ[1].checked == true;
                    Sondern: document.SUCHE.typ[1].checked = true;

                    Habe das Problem jetzt mittels php gelöst.

                    Halte ich sowieso für sinnvoller.

                    Struppi.

          2. Du hättest meine Antwort ruhig als Frage auffassen können: Geht es dir um JavaScript oder um PHP?

            Also es geht um beides. Hier nochmals eine kurze Beschreibung um den Sachverhalt besser zu beschreiben:

            Bisher hast du keinen Sachverhalt geschildert.

            <?php
            $typ = $_GET['typ'];
            if ($typ == "A") {$checked = "0";}
            if ($typ == "B") {$checked = "1";}
            $content = "<form name="form"...
                        <input type="radio" name="typ" value="N...
                        <input type="radio" name="typ" value="N...
                        <script language=...
                        document.SUCHE.typ[$checked].checked == true;
                        </script>"
            ?>

            Das ist PHP Code ohne zu Wissen was im browser ankommt läßt sich deine nicht gestellt Frage nicht beantworten.

            Aber eine Vermutung, das Formular SUCHE existiert zum Zeitpunkt des obigen Aufrufes noch gar nicht. JS kann nur auf Elemente zugreifen die bereits vorhanden sind.

            Struppi.

      2. Das komische ist, dass beim Betrachten des html-Quelltexts alles in Ordnung zu sein scheint:
        document.form.typ[1].checked == true

        Das ist aber nicht dass was du geschrieben hast, der HTML code im Browser ist das einzige was im zusammenhang mit JS erstmal relevant ist.

        Struppi.