我有以下表格:
<form id="searchform_txtRepeatComplaint" name="searchform_txtRepeatComplaint">
<input name="datasource" type="hidden" value="TDA">
<input name="from" type="hidden" value="eci_data">
<input name="where" type="hidden" value="">
<input name="componentname" type="hidden" value="txtRepeatComplaint">
<input name="staticstrings" type="hidden" value="">
<input name="staticfields" type="hidden" value="">
<input class="nostyle" name="returnfield" type="hidden" value="Complaintinformation_ID">
<input class="nostyle" name="returnid" type="hidden" value="Complaintinformation_ID">
eCI ID:<input class="nostyle" type="text" name="Complaintinformation_ID" id="Complaintinformation_ID" style="width:150px;"/>
Complaint number: <input class="nostyle" type="text" name="eci_number" id="eci_number" style="width:150px;"/>
</form>
这是一个更大的表单标签中的表单。 我还有以下JS代码:
var data_save = $("#searchform_txtRepeatComplaint").serializeArray();
alert(data_save);
警报显示为空。 (甚至不显示[对象],它只是一个空警报框)。 我做错了什么?
未来读者的解决方案: 我找到了如何解决这个错误。我将FORM更改为DIV并添加了输入选择器,如下所示:
var data_save = $("#searchform_txtRepeatComplaint input").serializeArray();
另外:文档状态serializeArray()不能用于表单中的表单(无论如何都是非法的HTML)
答案 0 :(得分:2)
你错过了选择器中的#
var data_save = $("#searchform_txtRepeatComplaint").serializeArray();
而不是
var data_save = $("searchform_txtRepeatComplaint").serializeArray();
此外,要调试代码,您应该使用console.log()而不是alert()。检查对象/数组更有用。