2012-06-13 109 views
-2

我試圖找出一旦遠程函數的回調用戶名或電子郵件地址,如果返回的數據等於「n」它應該觸發消息被顯示。jQuery驗證成功的觸發消息

JS:

$(document).ready(function() { 
    var validator = $("form").validate({ 
     rules: { 
      username: { 
       minlength: 6, 
       maxlength: 12, 
       remote: { 
        type: 'post', 
        url: 'register/is_username_available', 
        data: { 
         'username': function() { 
          return $('#username').val(); 
         } 
        }, 
        dataType: 'json', 
        success: function(data) { 
         alert(data); 
         if (data == 'y') { 
          alert('available'); 
         } 
         else { 
          alert('no available'); 
         } 
        } 
       } 
      }, 
      email_address: { 
       email: true, 
       remote: { 
        type: 'post', 
        url: 'register/is_email_available', 
        data: { 
         'email_address': function() { 
          return $("#email_address").val(); 
         } 
        }, 
        dataType: 'json', 
        success: function(data) { 
         alert(data); 
         if (data == 'y') { 
          alert('available'); 
         } 
         else { 
          alert('no available'); 
         } 
        } 
       } 
      } 
     }, 
     messages: { 
      username: { 
       remote: 'The username is already in use' 
      }, 
      email_address: { 
       remote: 'There is already an account set up that uses that email address!' 
      } 
     } 
    }); 
});​ 
+2

我建議你改述你的問題;我認爲它可以更清晰。 –

+0

好吧,我改寫了它。 –

+0

現在有關於此的任何想法? –

回答

2

你的「數據類型」是不正確..現在你告訴它來獲取和使用JSON,你另一方面是輸出還是期待一個字符串或「文本」 /「HTML 「而不是」json「

將您的dataType更改爲html或文本,並查看它是如何做到的。

,如果你想保持在JSON ..從PHP側的輸出必須是

{"response":"y"}

和的研製成功你的JavaScript將不得不像

if(data.response == "y")