1

アイテムのテーブルがあります。

各行の最初の列には、フォームの一部として入力されたチェックボックスが含まれています。ユーザーはこれらのチェックボックスをクリックして送信をクリックし、アイテムの削除などの一括操作を実行できます。

行列の「データの追加」リンクをクリックすると、ユーザーがアイテムデータを入力できる3番目の列に異なるフォームがロードされる状況を(jqueryを使用して)セットアップしました。

次にやりたいことは、ajax を使用してこの 2 番目のフォームを送信することです。これを行うには、次のコードを使用しています。

$(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 に 2 番目のフォームが読み込まれると混乱します。

これを考えると、私がやりたいことは単に不可能ですか?

ありがとう

4

2 に答える 2

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 に答える
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 に答える