繁体   English   中英

如何序列化包含jQuery ajax加载字段的表单?

[英]How to serialize a form that contains jQuery ajax loaded fields?

这是主要形式:

<div>
     <form method="post" class="register" id="wiz-config">
        <!-- HTML -->
        <input type="radio" value="187" name="group-1" id="product-187" class="aselector" >
        <input type="radio" value="188" name="group-1" id="product-188" class="aselector" >
        <!-- HTML -->
        <!-- Other ajax fields -->

     </form>
</div>

其他ajax字段是通过ajax加载的。

问题是,如果我使用

jQuery( document ).ready(function() {
var str = jQuery( "#wiz-config" ).serialize();
console.log(str);
});

它返回的是“空”。 为什么?

您只是忘了放选择器#

$( "#wiz-config" ).serialize();

您的jQuery选择错误。 您需要#因为您正在尝试按ID选择。

$("#wiz-config" ).serialize();

ID选择器(“ #id”) :选择具有给定id属性的单个元素。

或者,如果页面中只有一个表单,则也可以尝试此操作以获取表单

var _form = $("form");
console.log(_form);
var serializedVersion = _form.serialize();

编辑:根据评论,您不会得到动态添加的表单元素。 我能想到的唯一原因是,您可能没有提供name属性,而它是这些动态添加的表单元素的值。 serialize方法将仅序列化具有有效name属性的那些元素。

以下应该可以正常工作。

$(function(){

   var newItems="<input name='place' type='text' />";

   $("#wiz-config").append(newItems);

});

是一个工作示例。

您正在调用的元素不是ID。

$("wiz-config").serialize();

正在寻找一个元素,例如p,div等。

要通过ID调用商品,您需要添加前导#:

$("#wiz-config").serialize();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM