0

次のように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でこのユーザー側をチェックする方法はありますか?

4

1 に答える 1

0

確実なこと。

各テキストの値が空の場合は使用$("input[type=text]").each()して確認し、一致したらフォームを送信します。

次のように、フォームに ID を割り当てます。

<form id="myForm" method="POST">

次に、jQueryで使用します

$("#myForm").submit(function(e) {
   // Check textboxes

   if(!ok) {
       // Stop submit
       e.preventDefault();
   }
});

ここにサンプルがあります

于 2013-02-10T16:45:04.483 に答える