JSP Java脚本验证不起作用
JSP Java Script validation not working
我在JSP页面中写了一个java脚本代码,但当我试图提交页面时,我的javascript验证代码没有被激发,有人能帮我出什么问题吗?
这里我的代码:
<html>
<center><h3>Employee Absent Report</h3></center>
<head>
<script language="javascript" type="text/javascript">
function onFormSubmit(){
var countErrors = 0;
var strDt=document.getElementById("startdate").value;
var endDt=document.getElementById("todate").value;
var flag=false;
var eFlag = false;
if (IsEmpty(strDt)==false && IsEmpty(endDt)==true ) {
document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;
}
if (IsEmpty(strDt)==true && IsEmpty(endDt)==false ) {
document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
return false;
}
return true;
}
</script>
</head>
<body>
<form name="form" action="FormServlet" method="get" onsubmit="return onFormSubmit(); ">
<center>
<div id="formErrors" class="error"></div>
FromDate:
<input type="text" name="startdate" id="startdate"/>
<div id="divStartDate"></div>
<br>
ToDate:
<input type="text" name="todate" id="todate"/>
<div id="divExpiryDate"> </div>
<br>
<input type="submit" value="submit"/>
</center>
</form>
</body>
</html>
javascript中有方法"IsEmpty"吗?我认为这就是问题所在。如果您在其他地方已经定义了这一点,请尝试在Firefox中运行代码,并查看错误控制台中的错误。
我觉得这是一个逻辑错误。请尝试替换它:
if (IsEmpty(strDt)==false && IsEmpty(endDt)==true ) {
document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;
}
if (IsEmpty(strDt)==true && IsEmpty(endDt)==false ) {
document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
return false;
}
带有:
if (endDt.length==0) {
document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;
}
if (strDt.length==0) {
document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
return false;
}
以这种方式进行验证
if (endDt === "") {
document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
return false;
}
if (strDt === "" ) {
document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
return false;
}
希望这能有所帮助!
这是正在工作的修改代码
<script>
function onFormSubmit(event){
var countErrors = 0;
event.preventDefault();
var strDt=document.getElementById("startdate").value;
var endDt=document.getElementById("todate").value;
var flag=false;
var eFlag = false;
if ( IsEmpty(endDt)==true ) {
document.getElementById("divExpiryDate").innerHTML = "* Please Enter Expiry Date";
eFlag = true ;
}
if (IsEmpty(strDt)==true ) {
document.getElementById("divStartDate").innerHTML = "* Please Enter Start Date";
eFlag = true;
}
if(eFlag)
{
return false;
}
return true;
}
function IsEmpty(input)
{
if(input.replace(/^'s+|'s+$/g,"") === "") {
return true;
}
return false;
}
相关文章:
- 为什么此验证代码不起作用
- Jquery的表单验证不起作用
- Javascript文本框验证不起作用
- javascript验证和ajax调用同时不起作用
- 外部JavaScript验证不起作用
- Asp自定义验证器在IE-11中不起作用
- javascript文本验证不起作用.警报消息没有't显示
- 我的角度形式输入[数字]验证不起作用
- 回发前所需的字段验证程序不起作用
- Javascript电子邮件验证不起作用
- 基本node.js express身份验证不起作用
- 使用 Ajax 调用进行验证不起作用
- 在键上验证正在工作,但在按键时它不起作用
- 使用 Google OAuth 2.0 进行客户端身份验证不起作用
- 表单验证在 HTML 中工作的 Visualforce 中不起作用
- 提交时 JavaScript 验证不起作用
- 表单验证不起作用,并阻止表单提交
- Jquery 引导程序验证 asp.net 母版页不起作用
- Struts2 Ajax 验证不起作用
- jQuery .valid() 不起作用?(验证插件)