2013-07-29 50 views
0

您好,我正在嘗試檢查電子郵件在keyup事件中的可用性。這是我的jQuery代碼:檢查電子郵件註冊的可用性asp.net + jquery

<script type="text/javascript"> 
    $(document).ready(function() { 
     var emailAlreadyExists = $("#registerContent").find('[id$=emailAlreadyExists]'); 
     var email = $("#registerContent").find('[id$=u_email]'); 

     email.keyup(function() { 
      emailAvailability(); 
     }); 

     function emailAvailability() { 
      $.post("Register.aspx/isValidEmail", { email: email.val() }, function (result) { 
       if (result == true) 
        emailAlreadyExists.text("The e-mail is already taken"); 
       else 
        emailAlreadyExists.text("Available"); 
      }); 
     } 

    }); 
</script> 

這裏我後面的代碼:

public bool isValidEmail(string email) 
{ 
    UserBusiness user = new UserBusiness(u_email.Text); 
    return user.emailExists(user); 
} 

那麼問題是,我總是讓我的標籤「可用」消息,即使我嘗試鍵入一個已經存在於我的數據庫中的電子郵件。正如你所看到的,isValidEmail是一個函數,我得到了我的數據庫的結果(因爲我有項目分層,所以我有表現層,bussines層和日期層)?我最近開始使用jQuery,所以我不確定這是否是正確的方式來做我想做的事情。那麼,我的錯誤在哪裏?

+0

是否將正確的電子郵件發送回服務器端代碼?在服務器上記錄'email'參數,是嗎? – tymeJV

+0

我檢查了一切,我認爲錯誤是在這條線:$ .post(「Register.aspx/isValidEmail」,{電子郵件:電子郵件},功能(結果)我認爲該帖子工作不正常... – Norman

+0

因此,服務器端函數甚至被稱爲 – tymeJV

回答

0

我的疑問,這裏有範圍界定問題...

試試這個

<script type="text/javascript"> 


    $(document).ready(function() { 
     var emailAlreadyExists = $("#registerContent").find('[id$=emailAlreadyExists]'); 
     var email = $("#registerContent").find('[id$=u_email]'); 

      email.keyup(function() { 
       var Value=$(this).val(); 
       emailAvailability(Value); 
      }); 



    }); 

function emailAvailability(obj) { 
     $.post("Register.aspx/isValidEmail", { email: obj }, function (result) 
     { 
       if (result == true) 
        emailAlreadyExists.text("The e-mail is already taken"); 
       else 
         emailAlreadyExists.text("Available"); 
       }); 
     } 

+0

我仍然遇到同樣的問題:( – Norman

+0

我不是那樣進入ASP.NET ..但我認爲..值發佈形式ajax是'email'和'u_email.Text',如果這是你如何在asp.net中發佈的值..那麼我認爲這應該是'email.Text'。如果你是通過檢查服務器端代碼得到正確的價值或不... – bipen

+0

我我修改了我的代碼:public bool isValidEmail(string email) UserBusiness user = new UserBusiness(email); return user.emailExists(user); } 我確定我從我的數據庫中獲得了正確的值,所以我不知道錯誤在哪裏......對此有任何想法? – Norman

0

你IsValidEmail函數看起來有點奇怪。它採用參數email,但將參數u_email.Text傳遞給emailExists函數。目前還不清楚從哪裏來。

此外,您的emailExists函數似乎都是user對象的一種方法,並且需要一個user對象作爲參數。我懷疑你的問題是這個功能......你可以發佈代碼嗎?

+0

我已經改變了我的功能:public bool isValidEmail(string email) { UserBusiness user = new UserBusiness(email); return user.emailExists(user);我在UserBussines類的函數是這樣的:public bool emailExists(UserBusiness user) { if(uDate.emailExists(user。電子郵件)) 返回true; else return false; } – Norman

+0

uDate是管理我的數據庫的類。 – Norman

相關問題