2011-12-06 59 views
0

在我的網頁上,我有一個表單,用戶輸入他們文章的信息。現在,我使用jQuery來檢查輸入的值是否爲空,如果它們是我顯示的錯誤消息。用於驗證表單的jQuery(檢查至少10個字符和某個值)

當前驗證

//Story Form 
$('.error').hide(); //Hide error message initially 

$(".button").click(function() {   //On button click  
    $('.error').hide(); 
    var title = $("input#sc_title").val(); 
    if (title == "") {     //if title is empty 
     $("label#title_error").show();  //show error 
     $("input#sc_title").focus();   //focus on title field 
     return false; 
    } 
}); 

現在,只檢查是否title == ""。如何編輯代碼以檢查是否至少輸入了10個字符,例如如果標題爲空且輸入少於10個字符,顯示錯誤?

回答

2

,如果用戶將20空格字符在標題領域title.length返回20這種情況下,它滿足的真實情況,所以你可以使用jQuery也修剪

if ($.trim(title) == "" || $.trim(title).length < 10) { 
    $("label#title_error").show();  //show error 
    $("input#sc_title").focus();   //focus on title field 
    return false; 
} 
+0

所以這隻能計算字母字符沒有空格嗎?真的很好,我沒有想過。 – Ilja

+0

哦,我想只是$ .trim(title).length <10可以完成這項工作,所以不需要title ==「」,對吧? – Ilja

+0

@llya是的你是對的 –

2

更改if檢查長度,而不是 - 這將檢查任何低於10 - 即空太:

if (title.length < 10) { 
    // Show error message 
} 

真正簡單的例子:http://jsfiddle.net/GFjpg/1/

+0

僅供參考,如果你檢查'長度<10「,」==「」'檢查變得多餘。 –

+0

是的,它的工作原理)))我需要等9分鐘才能接受答案。 – Ilja

+0

@RoryMcCrossan已經刪除,因爲我看到了我的方式錯誤!它還早,只有1杯茶! – ManseUK

2

這應該這樣做:

if(title.length < 10) 
2

這是您的代碼編輯:

$('.error').hide(); //Hide error message initially 
    $(".button").click(function() {   //On button click 

    $('.error').hide(); 
     if ($("input#sc_title").val().length < 10) { 
     $("label#title_error").show();  //show error 
     $("input#sc_title").focus();   //focus on title field 
     return false; 
    } 
    }); 
+0

'$(「input#sc_title」).length'將計算選擇器返回的數組中元素的數量,而不是字段中值的長度。 –

+0

我的壞...謝謝@Rory McCrossan – Alex

相關問題