[英]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.