动态添加文本框,在POST之前检查空文本框

时间:2013-02-10 16:41:42

标签: jquery

我使用像这样的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();
    });


});

正在使用示例 here

我需要检查在发布表单之前是否至少有一个文本框是空的,主要是因为当我稍后使用php检查它是否有错误时,用户必须返回到表单并且必须启动一遍又一遍(这些字段在返回时会消失,因为它们是动态生成的)。有没有办法在jquery上检查这个用户端?

1 个答案:

答案 0 :(得分:0)

当然可以。

只需使用$("input[type=text]").each()并检查每个文字的值是否为空,一旦匹配,请提交表单。

为表单分配一个id,如下所示:

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

然后,在jQuery中,使用

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

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

这是Sample