我只处理一个表单,但我需要使用另一个表单(所有相同的输入),因为在提交时,根据某些操作它将执行不同的东西,原始表单是
<form id="card-form">
Some inputs are generated dynamically with "append"...
</form>
我想将所有输入传递给id为“reservation”的另一个输入,但是用户不能看到它,它需要能够提交给服务器发送请求(而不是通过ajax)。
我试过,例如:
var form1 = $('#card-form'),
form2 = $('#form2');
$('#copy').click(function(){
$(':input[name]', form2).val(function(){
return $(':input[name='+ this.name +']', form1).val();
});
});
但附加的输入未被复制。知道怎么做吗?
答案 0 :(得分:1)
https://jsfiddle.net/La21o6on/1/
var form1 = $('#card-form'),
form2 = $('#form2');
$('#copy').click(function(){
$(':input[name]', form1).each(function(){
var n = $(this).clone();
n.attr('id',n.attr('id')+"form2").appendTo( form2 );
})
});
我将每个输入克隆到n
var并在此处重命名为
我遇到的第一个问题是您选择空新表单中的元素 - $(':input[name]', form2)
,您需要传递旧表单。另一个 - 我不确定你为什么使用val
? this
链接到jquery代码中的当前元素。