Checkbox-Array per JavaScript & PHP ansprechen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

  • #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>';
    }
    ?>

    Comment

    Working...
    X