简体   繁体   English

jQuery序列化Ajax加载的表单

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

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