文本字段中的数字应仅在用户单击文本框外后自动设置格式
Number in textfield should be autoformatted only after user clicks outside the textbox?
我有个问题。基本上,在我的情况下,文本框中的数字是在我打字时自动设置格式的。我不想发生这种事。我想要的是,只有当用户点击文本框外时,数字才应该自动设置格式。
在我的输入标签中,我有:
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);
}
}
}
我真的希望这个问题能够得到解决。请
您可以将onkeyup
更改为onblur
,这是当控件失去焦点时触发的事件-点击它。
每次按键都会触发onkeyup
事件。
相关文章:
- 测试文本区域中的特定文本格式
- 防止Javascript注入(但保留文本格式和图像)
- 我有来自OpenWeatherMap API的风向数据,数据以0到360度表示.我想将其转换为文本格式
- 设置要显示的文本格式的指令
- IndexedDB:将 url 映射到接受的 markdown/HTML 文本格式标记的正确架构
- 时刻.js文本格式和类
- 在动态创建的文本框中设置文本格式
- 购物清单 Javascript 程序列表项的文本格式不正确
- 使用 drive.files.export (Drive API v3) + API 密钥以文本/纯文本格式获取公共 G
- 如何使用 jQuery 将段落的原始文本格式放入 HTML 段落元素中
- 如果文本格式化为 html,则使用 angularjs 显示更少/更多的文本
- 如何在打印时保留存储在数据库中的文本格式
- Google Apps脚本中Google文档中字符串的文本格式
- jQuery之后的文本格式问题
- 如何在jQuery中保持粘贴时的文本格式
- P:输入文本格式数字,如'999,999'
- 删除复制+粘贴的富文本格式?(跨浏览器)
- 在文本框中设置文本格式
- 如何在HTML textarea>中设置文本格式?
- 如何使用PHP在电子邮件中以HTML/文本格式发送Javascript