我正在处理包含文本框的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;
}
UPDATE:从
调用此函数<asp:TextBox ID="txtDate"
Style="margin-left: 5px; margin-right: 5px"
runat="server"
Width="88px"
onkeypress="return allowBackSpace(this);">
</asp:TextBox>
我在文本框的按键事件上调用此函数。 preoblem是它允许一次只删除一个字符。
如果用户按下退格按钮,我希望清除整个文本框。在这里坚持如何实现这一目标。
提前致谢 AKHIL
PS:使用C#代码实现这一目标的任何方法也非常有用。
答案 0 :(得分:2)
你从js函数返回true,它也执行它的keypress事件。所以,尝试返回false。 您可以尝试以下代码:
function allowBackSpace(val){
var keyCodeEntered = (event.which) ? event.which : (window.event.keyCode) ? window.event.keyCode : -1; if (keyCodeEntered == 8) { $(this).val(""); return false; } return false; }
答案 1 :(得分:1)
尝试此功能。
$("#txt1").keydown(function(eve){
var keyCodeEntered = eve.keyCode? eve.keyCode : eve.charCode;
if (keyCodeEntered == 8)
{
$(this).val("");
return false;
}
return false;
});
});
答案 2 :(得分:1)
使用Jquery
$("#txtDate").keyup(function(event){
if(event.keyCode == 8){
$("#txtDate").val("");
return false;
}
});
答案 3 :(得分:1)
function allowBackSpace(e,obj)
{
var evt=e||window.event;
if(evt.keyCode==8)
{
obj.value='';
}
}
现在,使用onkeydown
事件而不是onkeypress
<textarea onkeydown='allowBackSpace(event,this)'></textarea>