网络编程 
首页 > 网络编程 > 浏览文章

jsp要实现屏蔽退格键问题探讨

(编辑:jimmy 日期: 2024/12/26 浏览:3 次 )
今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件。输入框中内容可按“Backspace”键进行删除,但是下拉框中需要屏蔽backspace功能,否则就回执行页面的回退功能。代码如下
复制代码 代码如下:
<td width="350px;">企业名称:&nbsp;
<input type="text" name="filter_psName" id="psName" size="40"/>
</td>
<td width="200px;">区域:&nbsp;
<select name="filter_regionCode" id="regionName" theme="simple" />
</td>
<td>
<s:radio onclick="query();" name="filter_status" theme="simple" ></s:radio>
</td>
<td valign="middle" align="center">
<img src="/UploadFiles/2021-04-02/icon403a3.gif">
</td>

在网上找了一段屏蔽退格键的代码如下
复制代码 代码如下:
$(document).keydown(function (e) {
var doPrevent;
if (e.keyCode == 8) {
var d = e.srcElement || e.target;
if (d.tagName.toUpperCase() == 'SELECT') {
doPrevent = d.readOnly || d.disabled;
}
else
doPrevent = true;
}
else
doPrevent = false;
if (doPrevent)
e.preventDefault();
});

发现有如下问题:
下拉框d.tagName获取的的标签名称也是INPUT。故实现不了上述需求。
仔细研究了一下,下了如下代码
复制代码 代码如下:
//屏蔽下拉框的退格键操作
$(document).keydown( function(e)
{
//获取键盘的按键CODE
var k=e.keyCode;
//获取操作的标签对象
var obj=e.target || e.srcElement;
//获取对象的只读属性的值
var vReadOnly = obj.getAttribute('readonly');
//如果按键为“backspace”并且标签对象的只读属性不为空时return false(select 标签默认 readonly=“readonly”)
if(k==8 && vReadOnly!=null){
return false;
}
});

实现了上述需求,应该还有更好的办法,希望朋友们看到能够给予提示或者互相讨论。
上一篇:JSP页面中文参数的传递(get和post方法分析)
下一篇:Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。