jsp要实现屏蔽退格键问题

今天涉及到一个问题,在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 οnclick="query();" 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;
					}
			});





实现了上述需求,应该还有更好的办法,希望朋友们看到能够给予提示或者互相讨论。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值