2016-07-05 21 views
0

我有一個文本框,當我點擊它(焦點)時突出顯示紅色。如果我在裏面輸入任何內容,它會突出顯示爲灰色。但是當我在裏面輸入內容並再次刪除裏面的所有數據時,它不會高​​亮顯示回紅色。請幫助我。下面是我用來突出顯示紅色和灰色的一段代碼:Textbox突出顯示紅色時,它內部沒有數據使用JavaScript驗證

$("#fname").bind('focus', function (e) { 
    if ((document.getElementById("fname").value).length == 0) { 
     document.getElementById("fname_error").style.display = "inline"; 
     $("#fname").attr('style', 'border: 1px solid #8C0005 !important;'); 

     return false; 
    } 
    else { 
     document.getElementById("fname_error").style.display = "none"; 
    } 
    return true; 
}); 

$("#fname").keypress(function (e) { 
    var iKeyCode = (e.which) ? e.which : e.keyCode 


    if ((iKeyCode > 64 && iKeyCode < 91) || (iKeyCode > 96 && iKeyCode <  123) || iKeyCode==8 || iKeyCode == 9) { 

       document.getElementById("fname_error").style.display = "none"; 
       $("#fname").attr('style', 'border: 1px solid #cccccc !important;'); 
       return true; 

    } 
    else { 
      document.getElementById("fname_error").style.display = "inline"; 
      return false; 
     } 

}); 

回答

0

那是因爲你設置裏面focus事件處理程序的紅色邊框,而如果元素早已開始關注這一事件不能BI解僱。

嘗試將此代碼移動到keyup處理程序。

+0

我用keyup替換了焦點詞,但是當我點擊文本框時它沒有突出顯示爲紅色,只有keyup事件正在工作。 –

+0

我結合了焦點和關鍵,它的工作。謝謝您的幫助! –

相關問題