[英]JQuery serialize ajax loaded form
The serialize() function returns an empty string , This is my code : serialize()函数返回一个空字符串,这是我的代码:
Code to return form : 返回表格的代码:
$.ajax({
url: 'api/form',
type: 'get',
crossDomain: true,
}).done(function(response){
fields = JSON.parse(response);
html = '';
$.each(fields, function(index,field){
html += field;
});
html += '<div class="btn-clear"></div><button class="btn payment">Pay</button></div>';
$("#cart-content").html(html);
}).fail(function() {
console.log('Failed');
});
Javascript code executed after user clicks payment button : 用户单击付款按钮后执行的Java代码:
$("body").on('click','.payment',function() {
var frmData = $("#customer").serialize();
console.log(frmData);
});
But it log an empty string !! 但是它记录了一个空字符串!
The form after it's ajax loaded : 加载ajax之后的表单:
<form id="customer"><div class="form-group">
<label class="control-label">Full name</label>
<input name="name" class="form-control" type="text">
</div><div class="form-group">
<label class="control-label">E-mail</label>
<input name="email" class="form-control" type="text">
</div><div class="form-group">
<label class="control-label">Mobile</label>
<input name="mobile" class="form-control" type="text">
</div><div class="form-group">
<label class="control-label">Country</label>
<select id="country" name="country" class="form-control" type="text"><!-- countries ... --></select>
</div></form>
Try your serialize like this 像这样尝试序列化
$("#form").submit(function () {
var data = $('#form').serialize();
Use the form ID as the target. 使用表单ID作为目标。 Here I used #form.
在这里,我使用了#form。 Submit the form, serialize the forms inputs.
提交表单,序列化表单输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.