Mortimer: Form-Elemente über ID's statt über namen ansprechen

Hallo

Kann ich eine Chekcbox statt über den NAME auch über ID ansprechen?

Ich kenne mich in JavaScript nicht aus und habe mir ein Script geholt dass mir alle Checkboxes auf einmal makiert.. umkerht... oder demakiert.
Ich versteh das script und sehe was dort gemacht wurde.

Leider benötigt halt das Script eine Rheienfolge von 1 bis X um zu funktionieren. Den Paramter NAME benötige ich jedoch schon für mein eigenes PHP Script das mit ID's benannt ist und nicht immer geradlinig geht.

Daher kam mir die Idee vielleicht den Formfields einen ID-Paramter zu geben und das Script so umzuschreiben dass es über die ID auf die Checkbox zugreift und halt den wert ausliest und wenn gecheckt ist er es checkt, und andersrum.

danke für die ggf. kommende hilfe =)

ciao

  1. Hallo

    Kann ich eine Chekcbox statt über den NAME auch über ID ansprechen?

    Natürlich, siehe http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id

    Ich kenne mich in JavaScript nicht aus

    Aber http://de.selfhtml.org/javascript/ kennst du nun ;)

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Ich bekomme es nicht hin =/

      Meine JavaScript Funktion aus dem Head:

      function IDcheckAll(entrys) {
      for (var j = 1; j <= [entrys]; j++) {
      box = eval("document."getElementById("checkid"+j));
      if (box.checked == false) box.checked = true;
         }
      }

      Und im Code meine Checkbox (via PHP-Echo)

      <?PHP

      echo "<input name='newsletter_checkbox_intern_uid_".$get_usersforid['id']."' type='checkbox' class='FormRadio' value='".$get_usersforid['email']."' id='checkid".$index."'>";

      ?>

      Index läuft von 0 bis X

      Wo ist der Fehler?

      ciao

      1. Hallo Mortimer,

        box = eval("document."getElementById("checkid"+j));

        lass mal eval und die " weg, also
        box = document.getElementById("checkid"+j) ;

        ob durch die PHP-Sachen da noch ein Fehler steckt, weiß ich nicht. Es wäre besser, wenn Du dir den Code im Browser mit View Source ansiehst und postest.

        Gruß, Jürgen

      2. Hallo

        for (var j = 1; j <= [entrys]; j++) {

        hm, entrys.length meinst du, oder?

        box = eval("document."getElementById("checkid"+j));

        Bist du sicher, dass du die Strings so richtig verkettest und es auch zu dem gewünschten Ergebnis zusammengefügt wird?

        Und im Code meine Checkbox (via PHP-Echo)

        Interessanter ist dann schon, was tatsächlich beim Client ankommt.

        Zudem: Was hat dir denn nun deine JS-Konsole verraten?

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates