程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp要實現屏蔽退格鍵問題探討

jsp要實現屏蔽退格鍵問題探討

編輯:關於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;
}
});

實現了上述需求,應該還有更好的辦法,希望朋友們看到能夠給予提示或者互相討論。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved