<input type="text" name="kcl" value="${kcl }" maxlength="50" onchange='kctotal(this);' />
//计算库存的合计
function kctotal(e){
var pattern=/(^-?[1-9]{1}\d*\.\d+$)|(^-?0\.\d+$)|(^-?[1-9]{1}\d*$)|(^0$)/; //验证double的正则
var kcls=document.getElementsByName("kcl");
var kchj=document.getElementById("kchj").value;
var tem=0;
if(pattern.test(e.value)==false){
alert("库存量必须为数字");
e.value=0;
e.focus();
return false;
}
else{
for(var i=0;i<kcls.length;i++){
if(kcls[i].value!=""){
tem+=kcls[i].value*1;
}
}
document.getElementById("kchj").value=tem;
}
}
代码 如上 问题是e.focus() 无法获取焦点 求问题的原因
//计算库存的合计
function kctotal(e){
var pattern=/(^-?[1-9]{1}\d*\.\d+$)|(^-?0\.\d+$)|(^-?[1-9]{1}\d*$)|(^0$)/; //验证double的正则
var kcls=document.getElementsByName("kcl");
var kchj=document.getElementById("kchj").value;
var tem=0;
if(pattern.test(e.value)==false){
alert("库存量必须为数字");
e.value=0;
e.focus();
return false;
}
else{
for(var i=0;i<kcls.length;i++){
if(kcls[i].value!=""){
tem+=kcls[i].value*1;
}
}
document.getElementById("kchj").value=tem;
}
}
代码 如上 问题是e.focus() 无法获取焦点 求问题的原因
试试这样
f(pattern.test(e.value)==false){
alert("库存量必须为数字");
e.value=0;
e.focus();
e.focus();//两次
return false;
}