jsp要实现屏蔽退格键问题探讨
jsp要实现屏蔽退格键问题探讨
发布时间:2016-12-29 来源:查字典编辑
摘要:今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件。输入框中内容可按“Backspace”键进行删除...

今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件。输入框中内容可按“Backspace”键进行删除,但是下拉框中需要屏蔽backspace功能,否则就回执行页面的回退功能。代码如下

复制代码 代码如下:

<td width="350px;">企业名称:

<input type="text" name="filter_psName" id="psName" size="40"/>

</td>

<td width="200px;">区域:

<select name="filter_regionCode" id="regionName" theme="simple" />

</td>

<td>

<s:radio name="filter_status" theme="simple" ></s:radio>

</td>

<td valign="middle" align="center">

<img src="${ctx}/common/img/icons/icon403a3.gif" height="20" />查询

</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教程学习
热门JSP教程学习
编程开发子分类