2016-04-08 7 views
-1

私は1つのフォームしか扱っていませんでしたが、別のものを使う必要があります。アクション、それは別のものを実行します、元のフォームは、私が「予約」IDを持つ別のものにすべての入力を通過したい要素を隠している別のフォームにすべてのフォームをクローンして投稿する

<form id="card-form"> Some inputs are generated dynamically with "append"... </form>

ですが、ユーザーはそれを見てはいけない、それが提出できるようにする必要がありますサーバーにリクエストを送信します(ajax経由ではありません)。

私は、たとえばしようとしていた、この:

var form1 = $('#card-form'), 
    form2 = $('#form2'); 

$('#copy').click(function(){ 
$(':input[name]', form2).val(function(){ 
    return $(':input[name='+ this.name +']', form1).val(); 
}); 
}); 

しかし、追加入力がコピーされていません。どのようにこれを行うにはどのようなアイデア?

+0

あなたはおそらくhttps://api.jquery.com/clone/ – llamerr

+0

を使用して、追加された要素をコピーしますか? –

+0

私があなたを理解したら – llamerr

答えて

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に各入力をclonning、それはここでIDは名前を変更しています。

最初の問題私は空の新しいフォーム - $(':input[name]', form2)の中の要素を選択しているのを見ているので、代わりに古いフォームを渡す必要があります。他の1つ - 私はあなたがなぜそれのためにvalを使用しているのか分かりません? this jqueryコードの現在の要素へのリンク。

関連する問題