0

それは検証されません、そしてこれはそれをする正しい方法ですか?

フォーム検証機能はすべて正常に機能していますが、submitボタンをクリックしても検証されません

コード:

  var pinvalid = 'false';
    var emailvalid = 'false';
    var confirmemailvalid = 'false';
    var passwordvalid = 'false';
    var confirmpassword = 'false';

    //Validate PIN
    $('#SUInpR_UserPin').keyup(function(){
checkAvailability();

});
  // Validate Email
$('#SUInpR_Email').blur(function(){
checkEmail();
})

// Compare email address
$('#SUInpR_CEmail').blur(function(){

compareEmail();

})  



  //Check Password
   $('#SUInpR_Password').blur(function(){


validatepassword();
})

// Comfirm Password
$('#SUInpR_PasswordConfirm').keyup(function(){

validatepasswordcheck();

})


//When signup button is click

$('#BtnGoSignUp').click(function(e){


if (pinvalid == 'true' ){
    alert('Please check and make sure the all fields are entered');

}
else if(emailvalid == 'false'){
    alert('Please Enter your email address');

}
else if(confirmemailvalid == 'false'){
    alert('Please confirm your Email Address');

}
else if (passwordvalid == 'false'){
    alert('Please Enter your password');

}
else if (confirmpassword == 'false'){alert('Please Confirm your Password');



}
else{
    alert('all ok');
}
4

1 に答える 1

0

示されているコードには構文エラーがあります-最後に終了がありません:

});

...それはに属し$('#BtnGoSignUp').click(function(e){ます。

あなたが示したものに他のエラーは見られませんが、あなたはあなたblurkeyupハンドラーによって呼び出された関数のどれも示していないので...

blurハンドラーと言えば、次のkeyupように定義した関数を単純化できます。

$('#SUInpR_Email').blur(function(){
checkEmail();
})

...内部関数を直接バインドすることによって:

$('#SUInpR_Email').blur(checkEmail);    // note: no () after checkEmail

呼び出し以外のアクションを実行する必要があるcheckEmail()場合、またはパラメーターをに渡す必要がある場合にのみ、無名関数が必要checkEmail()です。(あなたがそれを持っている方法はエラーではありません、それはそれが機能するのを止めません、私は同じことをするより短い方法を提案しています。)

また、なぜブール値との代わりに文字列を使用している'false''true'ですfalsetrue

于 2013-03-16T00:40:03.500 に答える