Я видел что-то на этом сайте: Обработка массива элементов HTML Form в JavaScript и PHP http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=343
Он сказал о том, чтобы поместить массив в свойство name и как получить значение входной коллекции. например name="education[]"
Но, как я знаю, элемент ввода HTML является готовым массивом по name
. На стороне клиента ( GetElementsByName
) или на стороне сервера ( $_POST
в PHP или Request.Form
в ASP.NET), например: name="education"
, так что же отличается от или не с []
?
PHP использует синтаксис квадратной скобки для преобразования входных данных формы в массив, поэтому, когда вы используете name="education[]"
вы получите массив, когда вы это сделаете:
$educationValues = $_POST['education']; // Returns an array print_r($educationValues); // Shows you all the values in the array
Так, например:
<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>
Дает вам все введенные значения внутри массива $_POST['education']
.
В JavaScript более эффективно получать элемент по id …
document.getElementById("education1");
Идентификатор не должен совпадать с именем:
<p><label>Please enter your most recent education<br> <input type="text" name="education[]" id="education1"> </p>
если у вас есть флажки, вы можете передать массив проверенных значений.
<input type="checkbox" name="fruits[]" value="orange"/> <input type="checkbox" name="fruits[]" value="apple"/> <input type="checkbox" name="fruits[]" value="banana"/>
Также несколько выпадающих меню
<select name="fruits[]" multiple> <option>apple</option> <option>orange</option> <option>pear</option> </select>
Это другое. если вы разместите эту форму:
<input type="text" name="education[]" value="1"> <input type="text" name="education[]" value="2"> <input type="text" name="education[]" value="3">
вы получите массив в PHP, в этом примере вы получите $_POST['education'] = [1, 2, 3]
.
если вы разместите эту форму без []
:
<input type="text" name="education" value="1"> <input type="text" name="education" value="2"> <input type="text" name="education" value="3">
вы получите последнее значение, здесь вы получите $_POST['education'] = 3
.