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


});

这里的工作示例

我需要在发布表单之前检查至少一个文本框是否为空,主要是因为当我稍后使用 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 回答