Я использую тег Struts2 <s:textfield />
, и приведенный ниже код вычисляет и проверяет/проверяет значение, введенное в текстовое поле «на лету» с помощью JS.SHIFT + HOME и SHFT + клавиши влево/вправо для текстовых полей не работают
Он также обновляет общее количество, введенное в список textfield
, обрабатываются onblur
и onkeydown
событиями, как показано ниже.
<s:textfield id = "fieldid"
name = "xyz"
onblur = "javascript:calculateTotal()"
onkeydown = "javascript:checkDecimal(this); return checkDecimal(event);"
/>
Используя этот код SHIFT + HOME, SHIFT + Левого и SHIFT + Правой клавиши Функциональные не работает.
Есть ли возможности, что это связано с onblur
и onkeydown
событиями?
function checkDecimal(evt) {
var charCode;
var version = msieversion();
if(version==8){
charCode = (window.event) ? evt.keyCode : evt.which;
charCode = (window.event) ? evt.keyCode : evt.which;
}else{
charCode = (evt.which) ? evt.which : evt.keyCode;
}
if (!evt.shiftKey) {
if ((charCode >= 48 && charCode <= 57) ||
(charCode == 8) ||
(charCode == 46) ||
(charCode == 190) ||
(charCode == 35) ||
(charCode == 36) ||
(charCode == 9) ||
(charCode == 37) ||
(charCode == 39) ||
(charCode >= 96 && charCode <= 105) ||
(charCode == 110))
{
return true;
} else {
return false;
}
} else {
if (charCode == 9) {
return true;
} else {
return false;
}
}
}