
为什么用JS判断文本框只能输入4位小数的时候,有时候可以判断,有时候又不可以判断? 30
我是用$.post做的,我设置全局同步:$.ajaxSetup({async:false})测试还是不可以HTML:<inputtype='text'id='in_Min...
我是用$.post做的,我设置全局同步: $.ajaxSetup({async: false})测试还是不可以
HTML:
<input type='text' id='in_MinValue' value='' onkeypress='onKeyPressBlockNumbers(this.value,event)' />
js:
//只输入4位小数
function onKeyPressBlockNumbers(obj, evt) {
var keyCode = window.event ? evt.keyCode : evt.which;
//只能输入浮点数
// $("#in_ParameterValue").val().trim(
if (keyCode >= 48 && keyCode <= 57) {
//4位小数
var num1 = "" + ob
var dotpos = num1.indexOf(".");
if (dotpos > -1) {
var num2 = num1.substr(dotpos + 1, num1.length - dotpos - 1);
var decimaldigit = num2.length;
if (decimaldigit < 4) {
event.returnValue = true;
}
else {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
}
else {
event.returnValue = true;
}
}
else if (keyCode == 46) {
//小数点不能重复
if (obj.indexOf(".") > -1) {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
else {
event.returnValue = true;
}
}
else {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
} 展开
HTML:
<input type='text' id='in_MinValue' value='' onkeypress='onKeyPressBlockNumbers(this.value,event)' />
js:
//只输入4位小数
function onKeyPressBlockNumbers(obj, evt) {
var keyCode = window.event ? evt.keyCode : evt.which;
//只能输入浮点数
// $("#in_ParameterValue").val().trim(
if (keyCode >= 48 && keyCode <= 57) {
//4位小数
var num1 = "" + ob
var dotpos = num1.indexOf(".");
if (dotpos > -1) {
var num2 = num1.substr(dotpos + 1, num1.length - dotpos - 1);
var decimaldigit = num2.length;
if (decimaldigit < 4) {
event.returnValue = true;
}
else {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
}
else {
event.returnValue = true;
}
}
else if (keyCode == 46) {
//小数点不能重复
if (obj.indexOf(".") > -1) {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
else {
event.returnValue = true;
}
}
else {
if (keyCode == window.event) {
event.returnValue = false;
} else {
evt.preventDefault();
return false;
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询