[英]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.