2013-02-10 50 views
0

進出口動態添加使用jQuery這樣的文本框,以我的方式:動態添加文本框,檢查空的POST

$(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上檢查這個用戶端?

回答

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

+0

能否請您也展示瞭如何攔截後期行動? – DomingoSL 2013-02-10 16:46:27

+0

@DomingoSL更新回答... – ATOzTOA 2013-02-10 16:49:12

+0

在最後的提交將運行提交事件處理程序。你應該有'如果沒有好的提交然後e.preventDefault()' – Archer 2013-02-10 16:53:47