次のようにjqueryを使用して、フォームにテキストボックスを動的に追加します。
$(document).ready(function(){
var i = 1;
var j = 1;
$('#add_q').click(function() {
$('<div class="d' + i + '" class="fielddiv"><h2>Domanda(<a href="javascript:;" class="remove_question" todel="d' + i + '">x</a>)</h2><div class="row"><div class="span7"><input type="text" class="field input-xxlarge" name="questions[]" /></div> <div class="span3"><label class="checkbox"> <input type="checkbox" name="rm' + i + '" value="1"> Risposte multiple?</label></div></div><div id="answers_' + i + '" ></div><hr> <a href="javascript:;" class="add_a" qid="answers_' + i + '">Aggiungi risposta</a></div>').fadeIn('slow').appendTo('.inputs');
i++;
});
$(document).on('click', '.add_a', function(event) {
$('<div class="a' + j + ' dashForm"><input type="text" class="field input-xlarge" placeholder="risposta" name="a_' + $(this).attr('qid') + '[]" /></div>').fadeIn('slow').appendTo('#'+$(this).attr('qid'));
j++;
});
$(document).on('click', '.remove_question', function(event) {
$('.' + $(this).attr('todel')).remove();
});
});
ここでの作業例 。
フォームを投稿する前に、テキストボックスの少なくとも 1 つが空であるかどうかを確認する必要があります。これは主に、後でエラーが発生した場合に php を使用して確認するときに、ユーザーがフォームに戻って最初からやり直す必要があるためです。 (フィールドは動的に生成されるため、戻ると消えます)。jqueryでこのユーザー側をチェックする方法はありますか?