将所有形式克隆到隐藏元素的另一个不同的形式并提交它

时间:2016-04-08 15:23:21

标签: javascript jquery html forms

我只处理一个表单,但我需要使用另一个表单(所有相同的输入),因为在提交时,根据某些操作它将执行不同的东西,原始表单是

<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();
 });
});

但附加的输入未被复制。知道怎么做吗?

1 个答案:

答案 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),您需要传递旧表单。另一个 - 我不确定你为什么使用valthis链接到jquery代码中的当前元素。