В JavaScript мы можем получить атрибут name
каждого элемента формы следующим образом:
$('form').on('submit', function () {
var names = [];
$.each($(this).find('input, textarea'), function () {
names.push(this.name);
});
});
Собирает атрибут name
каждого элемента input
или textarea
в форме и помещает их в массив names
.
Обратите внимание, что .on()
является новым с jQuery 1.7 и в этом случае аналогично использованию .bind()
: http://api.jquery.com/on
В PHP вы можете перебирать каждую переменную $_GET
или $_POST
:
<?php
$names = array();
if (isset($_POST) && !empty($_POST)) {
foreach ($_POST as $key => $val) {
//$key is the name you wanted, and $val is the value of that input
$names[] = $key;
}
}
?>
И снова переменная $names
- это массив всех имен элементов формы.
Обновление
Если вы хотите создать ассоциативный массив names
: values
в JS, вы можете сделать это:
$('form').on('submit', function () {
var names = {};
$.each($(this).find('input, textarea'), function () {
names[this.name] = this.value;
});
});
Теперь вы можете получить доступ к переменной names
следующим образом:
alert(names.email);//this will alert the value of the input who's name is `email`