HTML Element Array, name= "something []" или name= "что-то"?
Я увидел что-то на этом сайте:
Обработка массива элементов HTML-формы в 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"
, так что отличается от или не с []
?
Ответы
Ответ 1
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>
Ответ 2
если у вас есть флажки, вы можете передать массив проверенных значений.
<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>
Ответ 3
Это другое.
если вы разместите эту форму:
<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
.