J'utilise Struts2 <s:textfield />
et le code ci-dessous calcule et vérifie/valide la valeur entrée dans le champ de texte à la volée avec JS.SHIFT + HOME et SHFT + touches gauche/droite pour les champs de texte ne fonctionnent pas
Il met également à jour le total entré dans textfield
liste, ceux-ci sont gérés par onblur
et onkeydown
événements comme ci-dessous.
<s:textfield id = "fieldid"
name = "xyz"
onblur = "javascript:calculateTotal()"
onkeydown = "javascript:checkDecimal(this); return checkDecimal(event);"
/>
En utilisant ce code SHIFT +HOME, SHIFT +gauche et SHIFT +droite fonctionnalités clés ne fonctionnent pas.
Y a-t-il des possibilités que cela soit dû aux événements onblur
et 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;
}
}
}