2011-05-28 80 views
0

表單仍提交。如果我想使用你的代碼並添加一個step.that,如果顯示紅色文本,然後阻止表單提交?我該怎麼辦?謝謝。使用jquery驗證但阻止表單提交

這裏是我的腳本:

jQuery(function($) 
{ 
    if (!$("#edit-name").val() || !$("#edit-email").val() || !$("#edit-comment-body").val()) 
    { 
     $("#edit-submit").click(function() 
     { 
      $('#edit-name').after('<span style="color:red;">請輸入你的名字</span>'); 
      $('#edit-mail').after('<span style="color:red;">請輸入你的郵箱</span>'); 
      $('#edit-comment-body label span').append('<span style="color:red;">請填寫內容</span>'); 
     }); 
    } 
}); 

回答

1

上。點擊(函數())給它一個參數e

$("#edit-submit").click(function(e) 
    { 
     e.preventDefault(); 
     $('#edit-name').after('<span style="color:red;">請輸入你的名字</span>'); 
     $('#edit-mail').after('<span style="color:red;">請輸入你的郵箱</span>'); 
     $('#edit-comment-body label span').append('<span style="color:red;">請填寫內容</span>'); 
    }); 
+0

非常感謝。爲什麼我使用submit()函數。 js代碼無法工作。還有一個問題。我點擊按鈕後,如果我再次點擊。紅色文字將再次添加。如何防止它。謝謝。 – zhuanzhou 2011-05-28 07:15:08

+0

參數e的含義是什麼? – zhuanzhou 2011-05-28 07:20:05

+0

e是事件參數。你能詳細談談你的其他問題嗎?我不太理解。 – 2011-05-30 06:41:35

2

驗證領域內提交事件,如:

$('#formID').submit(function(){ 
     if ($("#edit-name").val()=='' || $("#edit-email").val()=='' || $("#edit-comment-body").val()==''){ 
     $('#edit-name').after('<span style="color:red;">请è¾「å…¥ä½ çš„åå­—</span>'); 
     $('#edit-mail').after('<span style="color:red;">请è¾「å…¥ä½ çš„é‚®ç®±</span>'); 
     $('#edit-comment-body label span').append('<span style="color:red;">请填写内容</span>'); 

     return false; // to stop form submission in any way 

} });

+0

這裏仍然有一個問題。我點擊按鈕後,如果我再次點擊。紅色文字將再次添加。如何防止它。謝謝。 – zhuanzhou 2011-05-28 07:42:31

1

通常情況下,您將事件偵聽器掛接到表單的提交事件,從那裏您可以返回false。

$("form#foo").submit(function(){ 
    // validate 
    return false; 
}); 
相關問題