我想写一个jquery函数,控制基于区域设置的texfield(货币)的用户输入。警报确实告诉我,德语区域是“德”。但是if-else逻辑不起作用。如果没有if-else,特定键码的preventDefault()工作得很好。有人可以告诉我,我在这里做错了什么?JQuery的 - IF-ELSE逻辑不工作
jQuery(function($) {
$('.currency').on('keydown', function(e) {
var locale = $('#currFormat').val();
//alert(locale);
if (locale.toLowerCase() === "de") {
console.log(e.keyCode);
if (e.keyCode !== 46 && e.keyCode > 31 && e.keyCode !== 96 && e.keyCode !== 97 && e.keyCode !== 98 && e.keyCode !== 99 && e.keyCode !== 100 && e.keyCode !== 101 && e.keyCode !== 102 && e.keyCode !== 103 && e.keyCode !== 104 && e.keyCode !== 105 && e.keyCode !== 188 e.keyCode !== 37 && e.keyCode !==39 && (e.keyCode < 48 || e.keyCode > 57)) {
//stop all non-numbers
e.preventDefault();
} else {
// Here goes logic for not allowing comma and others (,)
}
});
});
'金额'值来自JSP。
<input type="hidden" id="CurrFormat" name="currFormat"
value="${pageContext.request.locale.language}" />
什么是第二个控制台日志输出? –
所以那是我在那里的键码,控制台在JS中显示语法错误。它指出了我刚刚编辑过的那句话。虽然,在我添加if-else之前,它对我很有用。 –