2011-09-15 93 views
0

我寫了一個小的驗證腳本(部分作爲學習練習),但我不知道如何使它檢測輸入字段中的默認值。看起來我需要將默認值存儲在變量中,然後在其中添加另一個OR來檢查當前值是否與默認值相匹配,但我無法完全弄清楚如何執行此操作。我不能把這個變量放在點擊上執行的函數中,因爲它接受了那個點的值並使用它。任何幫助,將不勝感激。我想過只是使用「佔位符」,但我想讓它在IE中工作。提前致謝。默認值輸入字段越過驗證提交

$('.submit').click(function() { 
var ret_val = true; 
var emailaddressVal = $("#email").val(); 
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
$('.required').each(function(){ 
if($(this).val().length === 0 || $(this).find("option:selected").val() == "none") 
{ 
    $('#errormessage').removeClass('requiredmessage'); 
    ret_val = false; 
    $(this).addClass('warning'); 
} 
else if($(this).val().length != 0) 
{ 
    $(this).removeClass('warning'); 
} 
}); 
if(!emailReg.test(emailaddressVal)) 
{ 
    $('#emailerrormessage').removeClass('requiredmessage'); 
    $('#email').addClass('warning'); 
    ret_val = false; 
} 
else 
{ 
    $('#emailerrormessage').addClass('requiredmessage'); 
} 
return ret_val; 
}); 

回答

1

您可以檢查...

var isDefault = $(this).val() === $(this).prop('defaultValue'); 

記住,如果你是一個不成功提交到服務器後重新填充value屬性,這會產生假陽性(取決於您的業務規則, 當然)。

+0

啊!感謝Alex的投入。說實話,我甚至不知道defaultValue存在。這使它更容易。我正在嘗試像var default_val = $(this).val();但我無法弄清楚如何在輸入值之前獲取值。再次感謝。 – Brian