PHP array from HTML form checkbox or select

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • RC

    PHP array from HTML form checkbox or select

    Order for PHP get the array from a
    HTML form checkbox or select tag.
    The HTML name MUST with [].
    For example:

    <form methos=POST action="myfile. php">
    <select name="pets[]" multiple>
    <option value="cat">Cat
    <option value="dog">Dog
    ....
    </select>

    Or
    <input type="checkbox" name="fruits[]" value="apple">
    <input type="checkbox" name="fuits[]" value="orange">

    </form>

    But the problem is name="XXX[]" is not standard HTML, right?
    Especial when my HTML file has JavaScript, JavaScript
    treats the name of select or checkbox tag as an array,
    so it doesn't recognized name with []. In JavaScript treats

    form.pets[0].value = "cat"
    Can't treats
    form.pets[][0].value = "cat"

    But in PHP

    $pets = $_POST['pets'];
    $fruits = $_POST['fruits'];

    How can I solve this problem a HTML form has JavaScript and
    process with PHP?

    Thank Q very much in advance!



  • Daniel Tryba

    #2
    Re: PHP array from HTML form checkbox or select

    RC <raymond.chui@n ospam.noaa.gov> wrote:[color=blue]
    > But the problem is name="XXX[]" is not standard HTML, right?[/color]

    No, it's valid HTML according to w3c specs:

    [color=blue]
    > Especial when my HTML file has JavaScript, JavaScript
    > treats the name of select or checkbox tag as an array,
    > so it doesn't recognized name with []. In JavaScript treats
    >
    > form.pets[0].value = "cat"
    > Can't treats
    > form.pets[][0].value = "cat"[/color]

    That's because you are using [] in it's javascript context (array) while
    instead you should be using a literal []: form["pets[]"].value

    So readup on your javascript skills :)

    Comment

    • Jerry Stuckle

      #3
      Re: PHP array from HTML form checkbox or select

      RC wrote:[color=blue]
      > Order for PHP get the array from a
      > HTML form checkbox or select tag.
      > The HTML name MUST with [].
      > For example:
      >
      > <form methos=POST action="myfile. php">
      > <select name="pets[]" multiple>
      > <option value="cat">Cat
      > <option value="dog">Dog
      > ...
      > </select>
      >
      > Or
      > <input type="checkbox" name="fruits[]" value="apple">
      > <input type="checkbox" name="fuits[]" value="orange">
      >
      > </form>
      >
      > But the problem is name="XXX[]" is not standard HTML, right?
      > Especial when my HTML file has JavaScript, JavaScript
      > treats the name of select or checkbox tag as an array,
      > so it doesn't recognized name with []. In JavaScript treats
      >
      > form.pets[0].value = "cat"
      > Can't treats
      > form.pets[][0].value = "cat"
      >
      > But in PHP
      >
      > $pets = $_POST['pets'];
      > $fruits = $_POST['fruits'];
      >
      > How can I solve this problem a HTML form has JavaScript and
      > process with PHP?
      >
      > Thank Q very much in advance!
      >
      >
      >[/color]

      Use the id= field to give each field a unique id. You can then
      reference the field by id in your Javascript and still access the array
      in your PHP.


      --
      =============== ===
      Remove the "x" from my email address
      Jerry Stuckle
      JDS Computer Training Corp.
      jstucklex@attgl obal.net
      =============== ===

      Comment

      Working...