function invalidate()
{
//日期不能为空
document.getElementById("lblFcRefuelDateTime").innerHTML="";
if (document.getElementById("txtFcRefuelDateTime").value=='')
{ document.getElementById("lblFcRefuelDateTime").innerHTML="日期不能为空";
document.getElementById("txtFcRefuelDateTime").focus();
return false ; }
//txt只读 没什么用了
if ( result =/^\d{4}-\d{2}-\d{2}$/.test(document.getElementById("txtFcRefuelDateTime")))
{
document.getElementById("lblFcRefuelDateTime").innerHTML="请填写正确的加油日期";
document.getElementById("txtFcRefuelDateTime").focus();
return false ;
}
//不能大于今天的日期
var textTime= document.getElementById("txtFcRefuelDateTime").value;
var nowDate = new Date();
var nowTime= nowDate.format("yyyy-MM-dd");
if ( textTime > nowTime)
{
document.getElementById("lblFcRefuelDateTime").innerHTML="日期不能大于今天";
document.getElementById("txtFcRefuelDateTime").focus();
return false ;
}
document.getElementById("lblFcRefuelDateTime").innerHTML="";
//不能小于 上一条记录日期
var backTime = document.getElementById("hdnOldFcTime").value;
backTime= backTime.toString("yyyy-MM-dd");
//alert(backTime);
if( backTime > textTime )
{ document.getElementById("lblFcRefuelDateTime").innerHTML="时间不能小于上一条记录";
document.getElementById("txtFcRefuelDateTime").focus();
return false ;
}
document.getElementById("lblFcRefuelDateTime").innerHTML="";
// 请填写燃油类型
if (document.getElementById("sltFcFuelType").selectedIndex==0)
{ document.getElementById("lblFcFuelType").innerHTML="请选择燃油类型";
document.getElementById("sltFcFuelType").focus();
return false ;
}
//请填写加油数
if (document.getElementById("txtFcRefuel").value=='')
{ document.getElementById("lblFcRefuel").innerHTML="请填写加油数";
document.getElementById("txtFcRefuel").focus();
return false ;
}
//验证小数
var str=document.getElementById("txtFcRefuel").value;
var pattern =/^[0-9]+([.]\d{1,2})?$/;
if(!pattern.test(str)){
document.getElementById("lblFcRefuel").innerHTML="请输入数字(例:0.00),最高保留两位小数";
document.getElementById("txtFcRefuel").focus();
return false;
}
//加油数要大于0
if (document.getElementById("txtFcRefuel").value< 1 ){
document.getElementById("lblFcRefuel").innerHTML="加油数必须大于0";
document.getElementById("txtFcRefuel").focus();
return false ;
}
document.getElementById("lblFcRefuel").innerHTML="";
//里程表读数
if (document.getElementById("txtFcTripMeter").value=='')
{ document.getElementById("lblFcTripMeter").innerHTML="请填写里程表读数";
document.getElementById("txtFcTripMeter").focus();
return false ;
}
//验证小数
var str=document.getElementById("txtFcTripMeter").value;
var pattern =/^[0-9]+([.]\d{1,2})?$/;
if(!pattern.test(str))
{
document.getElementById("lblFcTripMeter").innerHTML="请输入数字(例:0.00),最高保留两位小数";
document.getElementById("txtFcTripMeter").focus();
return false;
}
//里程数要大于0
if (document.getElementById("txtFcTripMeter").value< 1 )
{ document.getElementById("lblFcTripMeter").innerHTML="里程数不能为负";
document.getElementById("txtFcTripMeter").focus();
return false ;
}
document.getElementById("lblFcTripMeter").innerHTML="";
//读数表 不能小于上一次
var oldvalue = parseFloat( document.getElementById("hdnOldFcTripMeter").value);
var nowvalue = parseFloat( document.getElementById("txtFcTripMeter").value);
if (oldvalue >= nowvalue)
{ document.getElementById("lblFcTripMeter").innerHTML="不能小于或者等于上一次读数";
document.getElementById("txtFcTripMeter").focus();
return false ;
}
///所有验证结束后 打开窗口 补充信息
var s="<%=specId%>" ;
if(s==0)
{ document.getElementById ("divUpdateSpec").style.display ="";
return false ;
}
return true ;
}
谁有好的方法让它简化简化。。又长又大 又不利于维护。
var thecontrol=aaa("txtFcTripMeter");
if (thecontrol.value< 1 )
{ thecontrol.innerHTML="里程数不能为负";
document.getElementById("txtFcTripMeter").focus();
return false ;
}是这个意思吧
var invalidates =
[
["txtFcRefuelDateTime", "lblFcRefuelDateTime", /^\d{4}-\d{2}-\d{2}$/, "日期不能为空"],
["txtFcRefuel", "lblFcRefuel", /^[0-9]+([.]\d{1,2})?$/, "请输入数字(例:0.00),最高保留两位小数"],
["txtFcTripMeter", "lblFcTripMeter", /^[0-9]+([.]\d{1,2})?$/, "请输入数字(例:0.00),最高保留两位小数"]
];function $(id) { return document.getElementById(id); }for (var i = 0; i < invalidates.length; i++) {
$(invalidates[i][1]).innerHTML = "";
if (invalidates[i][2].test($(invalidates[i][0]).value) {
$(invalidates[i][1]).innerHTML = invalidates[i][3];
$(invalidates[i][0]).focus();
break;
}
}
为什么要加个 $的符号?
for (var i = 0; i < invalidates.length; i++) {
document.getElementById(invalidates[i][1]).innerHTML = "";
if (invalidates[i][2].test(document.getElementById(invalidates[i][0]).value) {
document.getElementById(invalidates[i][1]).innerHTML = invalidates[i][3];
document.getElementById(invalidates[i][0]).focus();
break;
}
}一个常用方法,使用简写可以减少代码的字节,节省一点带宽。
return document.getElementById(id);
}
function msg(lblId, msg, txtId){
$(lblId).innerHTML = msg;
$(txtId).focus();
return false;
}
function invalidate() {
//日期不能为空
$("lblFcRefuelDateTime").innerHTML = "";
if ($("txtFcRefuelDateTime").value == '') {
return msg("lblFcRefuelDateTime", "日期不能为空", "txtFcRefuelDateTime");
} //txt只读 没什么用了
if (result = /^\d{4}-\d{2}-\d{2}$/.test($("txtFcRefuelDateTime"))) {
return msg("lblFcRefuelDateTime", "请填写正确的加油日期", "txtFcRefuelDateTime");
}
//不能大于今天的日期
var textTime = new Date($("txtFcRefuelDateTime").value.replace(/-/g, "//"));
if (textTime > new Date()) {
return msg("lblFcRefuelDateTime", "日期不能大于今天", "txtFcRefuelDateTime");
}
$("lblFcRefuelDateTime").innerHTML = "";
//不能小于 上一条记录日期
......