Checkbox-Array per JavaScript & PHP ansprechen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Checkbox-Array per JavaScript & PHP ansprechen

    hi,

    ich möchte die ausgewählten checkboxen in folgendem script gerne mit php weiterverarbeiten. gleichzeitig sollte die auswahl mit javascript umkehrbar sein.
    PHP-Code:
    <html>
    <head>
    <title>Test</title>
    [b]<script language="javascript">
    function swap(field) {
        for (i = 0; i < field.length; i++)
            field[i].checked = (field[i].checked) ? false : true;
    }
    </script>[/b]
    </head>

    <body>
    [b]<a href="javascript:swap(document.form.number[]);">auswahl umkehren</a>[/b]<br />

    <form name="form" method="post" action="">
      <input type="checkbox" name="[b]number[][/b]" value="1"> eins
      <input type="checkbox" name="[b]number[][/b]" value="2"> zwei
      <input type="checkbox" name="[b]number[][/b]" value="3"> drei
      
      <input type="submit" name="submit" value="Senden">
    </form>
    </body>
    </html>

    <?php
    if (!isset($_POST['submit'])) {
        exit;
    }

    if (!empty(
    $_POST['number'])) {
        echo 
    '<pre>';
        
    print_R($_POST['number']);
        echo 
    '</pre>';
    }
    ?>
    die weiterverarbeitung mit php funktioniert hier ohne weiteres, allerdings erkennt die javascript funktion das number[]-array nicht anhand des namens bzw. die eigenschaft "length" kann nicht abgeprüft werden.

    wie greift man in diesem fall korrekt mit javascript auf die einzelnen array elemente zu, sodass die auswahl gleichzeitig mit php ansprechbar bleibt?

    danke.

  • #2
    http://de.selfhtml.org/javascript/ob...ements_by_name

    http://de.selfhtml.org/javascript/ob...ts_by_tag_name

    Kommentar


    • #3
      danke, jetzt funktioniert es:
      PHP-Code:
      <html>
      <head>
      <title>Test</title>
      <script language="javascript">
      function swap() {
          [b]field = document.getElementsByName('number[]');[/b]
          for (i = 0; i < field.length; i++) {
              field[i].checked = (field[i].checked) ? false : true;
          }
      }
      </script>
      </head>

      <body>
      <a href="javascript:swap();">auswahl umkehren</a><br />

      <form name="form" method="post" action="">
        <input type="checkbox" name="number[]" value="1"> eins
        <input type="checkbox" name="number[]" value="2"> zwei
        <input type="checkbox" name="number[]" value="3"> drei
        
        <input type="submit" name="submit" value="Senden">
      </form>
      </body>
      </html>

      <?php
      if (!isset($_POST['submit'])) {
          exit;
      }

      if (!empty(
      $_POST['number'])) {
          echo 
      '<pre>';
          
      print_R($_POST['number']);
          echo 
      '</pre>';
      }
      ?>

      Kommentar

      Lädt...
      X