Мой html:
<script type="text/javascript">
$(function() {
$("#bt1").click(function() {
var f = $("#form1");
var formData = f.serialize();
alert(formData);
});
});
</script>
<div id="div1">
<form id="form1" action="/Home/Test1" method="post" name="down">
<div id="div2">
<input id="input1" type="text" value="2" />
</div>
</form>
</div>
<input type="submit" id="bt1" />
Когда я запускаю событие щелчка, formData пуст. Я использую jQuery 1.4.2.
Хотя это не относится к этому конкретному примеру, такое же поведение происходит, если один или несколько входов формы есть
disabled
. Эти входные данные не будут отображаться в сериализованной строке. В моем случае все входные данные формы имели значения, но были отключены, в результате чего возвращалась пустая строка.источник
serialize
расширение jQuery, которое выполняет итерацию по входам и включает отключенные. Но, насколько мне известно, это невозможно сделать с помощью готового jQuery.На
name
входе нет атрибута ... это может быть проблемой для сериализации.источник
Также убедитесь, что на странице нет двух элементов с одинаковым идентификатором.
источник