2014-11-25 73 views
0

除文本框外,還有驗證錯誤顯示。值-1顯示錯誤,而值0顯示提示密碼正確。用戶第一次輸入不正確的密碼時,會顯示驗證錯誤。除文本框外的驗證錯誤

但是,第二次輸入錯誤時,驗證錯誤不顯示。我控制檯記錄的值,它仍然顯示錯誤值(-1),但驗證消息不顯示。我看不出我的代碼有什麼問題。

我正在使用if else語句。有沒有專家可以指出可能是什麼原因呢?

var clearFields = function() { 
    $('#current_pwd').val(''); 
    $('#new_pwd').val(''); 
    $('#retype_pwd').val(''); 

    $('#current_label').html(''); 
    $('#new_label').html(''); 
    $('#retype_label').html(''); 

    $('#current_label').prop('hidden',true); 
    $('#new_label').prop('hidden',true); 
    $('#retype_label').prop('hidden',true); 
    } 
    var changePassword = function() { 
    var $result = {}; 
     $.ajax({ 
      url: "users/resetpwd", 
      type: "POST", 
      async: false, 
      data: $("#changePasswordID").serialize(), 
      success: function(result) { 
       $result = $.parseJSON(result); 
      } 
     }); 
    console.log($result["ret"]); 


    if($result["ret"] == -1) { 
     $result["ret"] == -1; 
     $('#current_label').html($result["curr_msg"]); 
     $('#new_label').html($result["new_msg"]); 
     $('#retype_label').html($result["ret_msg"]); 

     $('#current_label').prop('hidden',false); 
     $('#new_label').prop('hidden',false); 
     $('#retype_label').prop('hidden',false); 
     alert('Password does not match.');   

    } else if($result["ret"] == 0) { 

     $('#current_label').prop('hidden',true); 
     $('#new_label').prop('hidden',true); 
     $('#retype_label').prop('hidden',true); 
     alert('Password Changed.'); 
     clearFields(); 
    }; 
    }; 
+0

檢查你是否不將'$ result [「ret」]'設置爲一個字符串 – 2014-11-25 04:00:39

+0

我沒有將它設置爲字符串。在我的控制器中,我將它設置爲$ return_ret = -1;如果可能的話添加小提琴或提供更多信息 – lizzie288 2014-11-25 04:04:58

+0

。 – 2014-11-25 04:26:31

回答

0

將計數器重置爲驗證開始時的默認值。然後在驗證運行時,它將根據用戶輸入更改計數器-1或0。看看是否有效。

+0

我嘗試你的建議,仍然沒有工作。錯誤時我試圖提醒,但那個人出來了。仍然想知道爲什麼只有驗證不會出來 – lizzie288 2014-11-25 04:11:55