0

私は正常に動作している以下のコードを持っています:

success: function (upd_rsp){
  //if email is not register
  if(upd_rsp == "email_no"){
  exstInfo.text("This E-mail is not registered in our Database!");
  exstInfo.addClass("error");
  return false;
  }

  //if email & pass don't match
  if(upd_rsp == "email_pass_no"){
  matchInfo.text("Email and Password don't match!");
  matchInfo.addClass("error");
  return false;
  }

これら 2 つの「if」の間に「else」ステートメント (以下) を挿入すると、2 番目の「if」は実行されません。どこが間違っていますか?

   else{
   exstInfo.text("");
   exstInfo.removeClass("error");
   return true;
   }

ソリューションは問題なく機能します。

4

1 に答える 1

2

return2 番目が実行される前に値を設定するifと、スクリプトはreturnが送信されると停止します。

これは、多くの方法の 1 つです。

success: function (upd_rsp){
  //if email is not register
  var email_error = false;
  var pass_error = false;
  if(upd_rsp == "email_no"){
    exstInfo.text("This E-mail is not registered in our Database!");
    exstInfo.addClass("error");
    email_error = true;
  } else {
    exstInfo.text("");
    exstInfo.removeClass("error");
    email_error = false;
  }


  //if email & pass don't match
  if(upd_rsp == "email_pass_no"){
    matchInfo.text("Email and Password don't match!");
    matchInfo.addClass("error");
    pass_error = true;
  } else {
    ....
    pass_error = false;
  }

  if(email_error == true || pass_error == true){
    return false;
  } else {
    return true;
  }
于 2012-07-16T12:52:47.720 に答える