1

我有一个项目表。

每行的第一列包含一个复选框输入作为表单的一部分。用户可以单击这些复选框,然后单击提交以执行批量操作,例如删除项目。

我已经设置(使用jquery)一种情况,在单击行列中的“添加数据”链接时,一个不同的表单被加载到第三列中,用户可以在其中输入项目数据。

然后我想做的是使用 ajax 提交第二个表单。为此,我使用以下代码:

$(document).on('submit',".add_form",function(event)
{

    event.preventDefault();

    var serial=$(this).serialize();

    var domain=$('[name=domain]').val();


       $.ajax({
     url:"portfolio/transactions/"+domain+"/",
     type:"post",
     data: {data:serial},
     success: function(dat){
$('#transactions_div').html(dat);
     }
   });




});

然而这不起作用,我相信这是因为 html 不允许表单中的表单。我的假设是 jQuery 遵循这样的标准,并且在将第二个表单加载到包含在另一组标签中的 div 中时会感到困惑。

鉴于此,我想做的事情是不可能的吗?

谢谢

4

2 回答 2

0

HTML

<form class="add_form">
    <form class="secondForm">
        <input type="checkbox" />
    </form>
    <input name="domain" type="text" />
    <!-- Replace the submit-Button with a normal button -->        
    <input type="button" value="Send" id="send"/>
</form>

JS

$(document).on('click', "#send", function () {

    var serial = $(".add_form").serialize();
    var domain = $('[name=domain]').val();

    $.ajax({
        url: "portfolio/transactions/" + domain + "/",
        type: "post",
        data: serial, // serial instead of {data : serial}
        success: function (dat) {
            $('#transactions_div').html(dat);
        }
    });
});
于 2013-04-26T18:08:37.807 回答
0

尝试这个:

$(document).on('submit', ".add_form", function (event) {

    event.preventDefault();
    var serial = $(this).serializeArray();
    var domain = $('[name=domain]').val();

    $.ajax({
        url: "portfolio/transactions/" + domain + "/",
        type: "POST",
        data: serial,
        success: function (data) {
            $('#transactions_div').html(data);
        }
    });
});
于 2013-04-26T17:57:34.613 回答