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 onclick="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;
}
});

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

(0)

相关推荐

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

    今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件.输入框中内容可按"Backspace"键进行删除,但是下拉框中需要屏蔽backspace功能,否则就回执行页面的回退功能.代码如下 复制代码 代码如下: <td width="350px;">企业名称:  <input type="text" name="filter_psName" id="psName&q

  • js屏蔽退格键(backspace或者叫后退键与F5)

    没有绝对的屏蔽,最好是js结合服务端混合用.服务端通过判断要打开的页面的参数是否第一次打开,如果不是的话就跳转到指定页面.这里只说js方法. 我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,这样编辑的内容都会失去了,非常的恶心人.ok ,废话少说,直接上代码. 比较好的代码,处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 <

  • 屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码

    //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键  function KeyDown(){  if ((window.event.altKey)&&  ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←  (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →  alert("不准你使用ALT+方向键前进或后退网页!");  event.returnValue=false; 

  • 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键

    屏蔽鼠标右键.Ctrl+N.Shift+F10.Alt+F4.F11.F5刷新.退格键 //屏蔽鼠标右键.Ctrl+N.Shift+F10.F11.F5刷新.退格键 function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键 function window.onhelp(){return false} //屏蔽F1帮助 function document.onkeydown(){ if((window.event.alt

  • js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)

    复制代码 代码如下: <script language="Javascript" type="text/javascript"> //屏蔽鼠标右键.Ctrl+N.Shift+F10.F11.F5刷新.退格键 function document.oncontextmenu() { event.returnValue = false; } //屏蔽鼠标右键 function window.onhelp() { return false } //屏蔽F1帮助

  • Cygwin下安装vim后,vim中退格键无法正常使用的解决方法

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin@ThinkPad /etc $ cd /etc admin@ThinkPad /etc $ ls -a|grep vimrc发现/etc下没有vim的全局配置文件,然后再查找当前用户的vim配置文件.vimrc admin@ThinkPad /etc $ cd ~ admin@ThinkPad ~

  • js实现模拟计算器退格键删除文字效果的方法

    本文实例讲述了js实现模拟计算器退格键删除文字效果的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &

  • JS禁用浏览器退格键实现思路及代码

    上周提交了一个项目(内部使用的),一同事提出个BUG,说要禁用退格键(backspace或者叫后退键),因为这和他的习惯不一样,担心万一文字录入一半,他按了退格键,那整个页面的内容就白填了,然后信誓旦旦的说他做的系统中后退键都是不能用的,我这个系统有问题,当时因为事多,只把这个问题记录下来了,后来查了下他以前做的项目,也没有对退格键进行处理.自己的项目都没处理,到我这嚷嚷来了,算了,不和年轻人一般见识.不就禁用个后退键,简单. 其实说禁用也不是完全禁用,后退键在各浏览器下默认为点击了一下后退按钮

  • js 禁用只读文本框获得焦点时的退格键

    有时候难免会要用到只读的文本框,可今天发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(backSpace), 会退回到前一个页面,这个问题就有点烦恼了,用户又不清楚可不可以输入,他如果看到文本框想去改里面的东西,按一下,有可能前面所有填写的数据就会丢失.故此写了个方法,供大伙有需要时放入<script></script>,保管你称心如意. 复制代码 代码如下: document.documentElement.onkeydown = function(evt){ v

  • Linux下如何使用grep命令查找带有tab(退格)的字符

    需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的:假设日志文件名叫delete.log. 保存格式和保存的数据如下, 删除日期            帖子类型(11为主帖,12为回帖)    帖子id    操作人id 2011-11-01 00:05       12      71163578        1153089  2011-11-01 00:19       11      71163800        134379  2011-11-01 00:19    

随机推荐