簡體   English   中英

如何使用Javascript一次按退格鍵清除文本框?

[英]How to clear a textbox on single press of Backspace key using Javascript?

我正在處理包含文本框的Web應用程序。 文本框的值從“日期”選擇器填充,默認情況下其屬性為只讀。 到目前為止,一切正常。 但是,當我按退格按鈕時會出現問題。 而不是清除文本框,而是將我重定向到上一頁。

我通過引用此站點上的一些先前解答通過javascript函數處理了這種情況。

 function allowBackSpace(val) {
    var keyCodeEntered = (event.which) ? 
                             event.which : 
                             (window.event.keyCode) ? 
                                 window.event.keyCode : 
                                 -1;
    if (keyCodeEntered == 8) {
        $(this).val(""); 
        return true;
    }
    return false;
   }

更新:此函數從調用

<asp:TextBox ID="txtDate" 
             Style="margin-left: 5px; margin-right: 5px" 
             runat="server"
             Width="88px" 
             onkeypress="return allowBackSpace(this);">
</asp:TextBox>

我在文本框的按鍵事件上調用此函數。 前提是每次只能刪除一個字符。

如果用戶按下退格鍵,我希望清除整個文本框。 卡在這里作為如何實現這一目標。

在此先感謝Akhil

PS:使用C#代碼實現此目標的任何方法也將非常有幫助。

您從js函數返回true,該函數還將執行其keypress事件。 因此,嘗試返回false。 您可以嘗試以下代碼:

函數allowBackSpace(val){

 var keyCodeEntered = (event.which) ? event.which : (window.event.keyCode) ? window.event.keyCode : -1; if (keyCodeEntered == 8) { $(this).val(""); return false; } return false; } 

試試這個功能。

 $("#txt1").keydown(function(eve){
    var keyCodeEntered = eve.keyCode? eve.keyCode : eve.charCode;

    if (keyCodeEntered == 8) 
    {
         $(this).val("");
         return false;
     }
     return false;
  });
});

使用jQuery

$("#txtDate").keyup(function(event){
    if(event.keyCode == 8){
        $("#txtDate").val("");
        return false;
    }
});
function allowBackSpace(e,obj)
{
    var evt=e||window.event;
    if(evt.keyCode==8)
    {
        obj.value='';
    }
}

現在,使用onkeydown事件代替onkeypress

<textarea onkeydown='allowBackSpace(event,this)'></textarea>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM