JQuery 序列化 ajax 加载表单



serialize((函数返回一个空字符串,这是我的代码:

返回表单的代码 :

    $.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代码:

$("body").on('click','.payment',function() {
    var frmData = $("#customer").serialize();
    console.log(frmData); 
});

但它记录一个空字符串!

加载

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>

像这样尝试序列化

$("#form").submit(function () {
    var data = $('#form').serialize();

使用表单 ID 作为目标。在这里我用了 #form。提交表单,序列化表单输入。

最新更新