2009-12-07 36 views
0

抱歉再次困擾所有人。出於某種原因,當我嘗試使用validateusername()運行以下內容時,沒有任何反應。幫助找出行爲異常的原因

<script language="javascript"> 
//<----------------------------------+ 
// Developed by Roshan Bhattarai and modified by Harry Rickards 
// Visit http://roshanbh.com.np for the origional version of this script and more. 
// This notice MUST stay intact for legal use 
// --------------------------> 
function validateusername() 
{ 
    $("#username").blur(function() 
    { 
     //remove all the class add the messagebox classes and start fading 
     $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn(1000); 
     //check the username exists or not from ajax 
     $.post("usernamecheck.php",{ username:$(this).val() } ,function(data) 
     { 
      if(data=='no') //if username not avaiable 
      { 
      $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
      { 
       //add message and change the class of the box and start fading 
       $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1); 
      });  
      } 
      else 
      { 
      $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
      { 
       //add message and change the class of the box and start fading 
       $(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);  
      }); 
      } 

     }); 

    }); 
} 
</script> 

這可能是一個簡單的錯誤,但有人能夠指出我在正確的方向嗎?

謝謝

回答

1

該代碼沒有語法錯誤,但是當您使用事件綁定時,是否嘗試過在頁面加載時運行它?我相信你不會看到結果,因爲相應的輸入不會在期望的事件上運行你的函數。

$().ready(function(){ 
validateusername(); 
}); 

此外,使用<script type="text/javascript">language已被棄用。

+0

是的,它在頁面加載時運行良好,但需要在用戶單擊#username後運行。使用onClick for #password不起作用,大概是因爲你在說什麼。有沒有onClickOut或東西(谷歌似乎沒有幫助或我正在尋找錯誤的查詢)?會改變這一點。謝謝。 – hrickards 2009-12-07 21:22:45

+0

我想我已經解決了您在用戶名中使用onBlur來運行validateusername()所指出的問題。不應該解決它嗎?它似乎仍然沒有工作,並使用史蒂芬的使用JavaScript調試器的建議我得到validateusername沒有定義。即使創建一個名爲function1的空函數並使用它,也會出現相同的錯誤,所以我必須調用錯誤的函數或其他函數。這不是你怎麼做的? hrickards 2009-12-08 16:22:24

+0

以小寫形式寫入事件 - onblur =「」。但否則,這是正確的。 – 2009-12-09 07:07:08

1

您是否試圖在運行時顯示值?另外,使用Javascript調試器通常也有幫助。

+0

會做。感謝您的建議。 – hrickards 2009-12-07 22:37:43