jQuery更改表单ID并提交“新”表单

时间:2014-05-22 11:37:27

标签: jquery forms attr

我的表单中包含ID" addCat" ..我正在使用jquery将ID更改为" editCat"并使用预先存在的数据填写表单输入,然后提交新表单。

很可能新的ID已更新,但表单未提交?

$("#addTags").on("submit",function(){
    var dataString = $(this).serialize();;
    $.post("./Scripts/adminDoAddCat.php", dataString, function (data) {
        if (data == "1") {
        $('div.add_result').html("<h3>New Category Added Successfully</h3>").fadeIn(800);
        }
        if (data == "0") {
        alert("Something went wrong");
        }
    });
    return false;
});
$("tbody tr td a.fa-pencil-square").on("click",function(){
    $("form#addTags").attr('id','editTags');
    alert($('form').attr('id')); //this is the way i make sure ID is updated 
});
    $("#editTags").on("submit",function(){
    var dataString = $(this).serialize();;
    alert(dataString); //making form is recognized but it's not working
    return false;
});

2 个答案:

答案 0 :(得分:2)

使用.prop()代替.attr()更改ID

$("form#addTags").prop('id','editTags');

然后使用Event Delegation绑定提交处理程序

$(document).on("submit","#editTags",function(){
    var dataString = $(this).serialize();;
    alert(dataString); 
    return false;
});

答案 1 :(得分:0)

有一种解决方法。但它可能不是你想要的。无论如何看demo。让我知道它是否适合你。虽然不是一个好方法。

$("tbody tr td a.fa-pencil-square").on("click",function(){
    $("form#addTags").prop('id','editTags');
    //Define the handler inside of the new 
   $("#editTags").on("submit",function(){
    var dataString = $(this).serialize();;
    alert(dataString); //making form is recognized but it's not working
    return false;
   });
});