2011-09-15 2 views
0

小さな検証スクリプトを書きましたが(部分的には学習の練習問題ですが)、入力フィールドのデフォルト値を検出する方法を理解できません。私は変数にデフォルト値を格納し、そこに別のORを追加して現在の値がデフォルト値と一致するかどうかを確認する必要があるように思えますが、どうやってそれを行うのか分かりません。変数をそのクリックで実行される関数の中に置くことはできません。なぜなら、その点で値を受け取り、それを使用するからです。どんな助けもありがとう。私はちょうど "プレースホルダ"を使用することを考えましたが、私はそれをIEで動作させたいと思っていました。前もって感謝します。ご使用のサーバーに失敗し提出後value属性を再増殖している場合は...入力フィールドのデフォルト値がサブミット時に過去の検証になっています

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

を確認することができ

$('.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

は覚えておいて、これはあなたのビジネスルールに応じて、(偽陽性を与えます、 もちろん)。

+0

ああ!アレックスのおかげで、ありがとう。正直言って、私はdefaultValueが存在することさえ知りませんでした。それはずっと簡単です。私はvarのような愚かなものを試していたdefault_val = $(this).val();値を入力する前に値を取得する方法を理解できませんでした。再度、感謝します。 – Brian

関連する問題