我有问题。基本上,在我的情况下发生的事情是我输入的文本框中的数字是自动编码的。我不希望这种情况发生。我想要的是,只有当用户在文本框外部点击时,这些数字才能自动生成。
在我的输入标签中,我有:
onkeyup="format(event, this);"
我的javascript函数是:
function format(e, obj) {
if (e.keyCode == 36) {
press1(obj);
}
if (e.keyCode == 13) {
return false;
}
if ((e.keyCode <= 34) || (e.keyCode >= 46 && e.keyCode < 58) || (e.keyCode >= 96 && e.keyCode <= 105)) { // //alert(e.keyCode);
obj.value = CommaFormatted(obj.value);
} else {
if (e && e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
} else {
e.cancelBubble = true;
e.returnValue = false;
}
return false;
}
}
其中press1函数是:
function press1(textControlID) {
var text = textControlID;
if (text.getAttribute("maxlength") == text.value.length) {
var FieldRange = text.createTextRange();
FieldRange.moveStart('character', text.value.length);
FieldRange.collapse();
FieldRange.select();
return true;
}
if (text != null && text.value.length > 0) {
if (text.createTextRange) {
var FieldRange = text.createTextRange();
FieldRange.moveStart('character', text.value.length);
FieldRange.collapse();
FieldRange.select();
} else if (text.setSelectionRange) {
var textLength = text.value.length;
text.setSelectionRange(textLength, textLength);
}
}
}
我真的希望这可以解决。请!
答案 0 :(得分:0)
您可以将onkeyup
更改为onblur
,这是当控件失去焦点时被触发的事件 - 单击它。
每次按键都会触发onkeyup
事件。