Jquery动态生成的提交按钮和字段

Jquery动态生成的提交按钮和字段,jquery,forms,Jquery,Forms,在用jQuery生成的提交按钮替换原始提交按钮后,如何提交此表单 表格: 最后,将事件侦听器添加到新生成的按钮以提交表单: $('#owner').change(function(){ if($('#owner').val() == 1){ $('#owner').after('<input name="added" value="2">'); } }) $('#added').on('click', function(){ $

在用jQuery生成的提交按钮替换原始提交按钮后,如何提交此表单

表格:

最后,将事件侦听器添加到新生成的按钮以提交表单:

$('#owner').change(function(){
    if($('#owner').val() == 1){
         $('#owner').after('<input name="added" value="2">');
     }     
})
$('#added').on('click', function(){
    $('#reg').submit(); 
})

单击新生成的按钮时不会发生任何事情,没有控制台错误,没有表单提交。我还尝试了click()、delegate()等。jQuery版本为1.10

在更改表单字段、添加其他字段并替换提交按钮后,您可以使用委托事件处理新创建的提交按钮

$(文档)。在('单击','添加')上,函数(e){
//$('#reg')。提交();
console.log(“#单击添加”);
})
$('#owner')。关于('change',函数(e){
if($('#owner').val()==1){
$('所有者')。在('')之后;
$('.controls actions').empty().append('Submit:click me to test');
}
})

1.
提交
试试这个:

    $('.controls-actions').empty();
    $('<button id="added" value="Submit">').appendTo('.controls-actions').bind('click', function() {
         $('#reg').submit(); 
    });
$('.controls actions').empty();
$('').appendTo('.controls actions').bind('click',function(){
$('#reg')。提交();
});

在开始删除和添加按钮之前,您到底想做什么?因为听起来像是这样,解决原来的问题会更有好处。@mike:在表单中添加动态字段,同时保留提交按钮,也就是说,表单只有在单击后才会提交。动态字段可能包含用户输入。如果这是您的实际代码,则
$('.control actions')
与任何内容都不匹配,因为该类是“controls actions”。此外,如果您可以简单地
.empty().append(…)
,则问题中的键入将更新。我把身份证弄混了。@Kisaragi,对!尝试使用委派的事件。答案已更新。
$('#added').on('click', function(){
    $('#reg').submit(); 
})
    $('.controls-actions').empty();
    $('<button id="added" value="Submit">').appendTo('.controls-actions').bind('click', function() {
         $('#reg').submit(); 
    });