2013-03-26 51 views
0

工作後,我不得不做出簡單的驗證。如果按F5然​​後代碼將無法正常工作刷新頁面,它正在對第一次,但填補文本值後的罰款。.blur不是頁面加載

步驟,以產生錯誤上第一文本框和模糊

  1. 焦點無填充的任何值。功能會提醒「錯誤」,並命名類錯誤會增加在文本框中

  2. 現在將在文本框,然後按F5值。然後從文本框中刪除值和模糊功能將提醒'沒有錯誤'這裏是問題。它應該警告,因爲我們在空白文本框上模糊。

我投入了門,發現了這個問題,因爲的onload功能存在的,我提到的代碼,如果輸入的文本值不等於空,則模糊文本框中

<head> 
    <script type="text/javascript" src="jquery-1.8.3.js"></script> 
    <script type="text/javascript"> 
    $(function(){ 
     $('input').blur(function(){ 
      if($(this).hasClass('error')){ 
      alert('error') 
      } 
      else { 
      alert('no error') 
     } 
    }) 
    }) 

    function test(id){ 
    if($(id).val()==''){ 
     $(id).addClass('error') 
    } 
    else { 
     $(id).removeClass('error') 
    } 
    } 

    $(function(){ 
    setTimeout(function(){ 
      $('input').each(function(){ 
      if($(this).val()!=''){ 
       $(this).blur(); 
      } 
      }) 
    },1000) 
    }) 
</script> 
<style> 
    .error{ border:#F00 solid 1px} 
</style> 
</head> 


<body> 
    <input type="text" onblur="test(this)"/> 
    <input type="text" onblur="test(this)" /> 
</body> 
+0

其中prowser和jQuery的版本是您使用? – 2013-03-26 08:47:57

+0

我使用實際上是在第一次測試1.8.3版本和Mozilla Firefox – Carlos 2013-03-26 08:48:21

+0

()函數執行第一,但頁面上刷新.blur函數執行第一 – Carlos 2013-03-26 08:54:29

回答

0

這將是你更好在確定輸入框是否爲空時檢查值,而不是css類。

$('input').blur(function() { 
    if ($.trim($(this).val()) == '') { 
     alert('error') 
    } else { 
     alert('no error') 
    } 
}); 

我認爲FF試圖保存HTML文檔的狀態,所以這個類仍然應用於該元素

0

只是嘗試用下面的:

腳本部分:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script type="text/javascript"> 
    function test(textId){  
    if($("#"+textId).val()==""){ 
     $("#"+textId).addClass("error"); 
     alert("Error"); 
     setTimeout(function(){ 
     $("#"+textId).focus(); 
     },100); 
     return false; 
    } 
    else { 
     $("#"+textId).removeClass("error"); 
     alert("No Error"); 
     return true; 
    } 
    } 
    </script> 

HTML部分:

<style> 
    .error{ border:#F00 solid 1px} 
</style> 
<body> 
    <input type="text" onblur="test(this.id);" id="text1" value=""/> 
    <input type="text" onblur="test(this.id);" id="text2" value=""/> 
</body> 

我認爲這可以幫助你解決你的問題。