【问题标题】:jquery form serialize empty stringjquery表单序列化空字符串
【发布时间】:2012-10-14 19:44:55
【问题描述】:

我有以下表格:

<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);

警报显示为空。 (甚至没有显示 [Object],它只是一个空的警报框)。 我做错了什么?

未来读者的解决方案: 我找到了解决此错误的方法。我将 FORM 更改为 DIV 并添加了输入选择器,如下所示:

var data_save = $("#searchform_txtRepeatComplaint input").serializeArray();

另外:文档状态 serializeArray() 不适用于表单中的表单(无论如何这都是非法的 HTML)

【问题讨论】:

    标签: jquery forms serialization


    【解决方案1】:

    你错过了选择器中的#

    var data_save = $("#searchform_txtRepeatComplaint").serializeArray();
    

    而不是

    var data_save = $("searchform_txtRepeatComplaint").serializeArray();
    

    此外,要调试代码,您应该使用 console.log() 而不是 alert()。检查对象/数组更有用。

    【讨论】:

    • 当我添加选择器时它不起作用。莫非是form标签中的form标签?
    • 我让它同时工作。当我将 FORM 更改为 DIV 时,它可以工作:) 我发现 serializeArray 不适用于表单中的表单(它在文档中的某处)
    • 这很奇怪.. "这个方法可以作用于一个 jQuery 对象,该对象已经选择了单个表单元素,例如 、
    • 来自docs.jquery.com/Ajax/serializeArray 的 jquery 文档:'请注意,serializeArray() 仅适用于表单元素,在另一个元素上使用此方法将不起作用。此外,这种方法不会在嵌套表单上给出任何结果,无论如何这在 HTML 中都是非法的':) 我的第一步是检查 DOM 中的重复 ID。我告诉你,这是形式中的形式:)
    猜你喜欢
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多