Cheung Tat Ming Cheung Tat Ming -4 years ago 89
HTML Question

HTML Element Array, name="something[]" or name="something"?

I saw something on this site :
Handling array of HTML Form Elements in JavaScript and PHP
http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=343

It said about put the array in name property and how the get the input collection's value.
e.g.

name="education[]"


But as I know, HTML input element is array-ready by
name
.
On client-side (
GetElementsByName
) or server-side (
$_POST
in PHP or
Request.Form
in ASP.NET)
for example:
name="education"
, so what is the different with or with not the
[]
?

Answer Source

PHP uses the square bracket syntax to convert form inputs into an array, so when you use name="education[]" you will get an array when you do this:

$educationValues = $_POST['education']; // Returns an array
print_r($educationValues); // Shows you all the values in the array

So for example:

<p><label>Please enter your most recent education<br>
    <input type="text" name="education[]">
</p>
<p><label>Please enter any previous education<br>
    <input type="text" name="education[]">
</p>
<p><label>Please enter any previous education<br>
    <input type="text" name="education[]">
</p>

Will give you all entered values inside of the $_POST['education'] array.

In JavaScript, it is more efficient to get the element by id...

document.getElementById("education1");

The id doesn't have to match the name:

<p><label>Please enter your most recent education<br>
   <input type="text" name="education[]" id="education1">
</p>
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download