[英]validation on JSP page does not work
我在以下具有一个输入文本框的jsp页面中,输入数字后,页面将重定向到servlet,在其中检索该数字并将其显示在页面上。 我正在尝试使用JavaScript进行验证,尽管如此,尽管验证返回false,但仍在执行servlet,但我得到java.lang.NumberFormatException: For input string: ""
,该代码位于servlet上的doGet
方法中下一行: int max = Integer.parseInt(request.getParameter("lengthTxt"));
。 为什么似乎绕过验证并仍然执行servlet? 如何解决? 感谢帮助 !
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function validateForm()
{
if(document.frm.lengthTxt.value=="")
{
alert("Number should not be left blank");
document.frm.lengthTxt.focus();
return false;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Length calc</title>
</head>
<body>
<h3>enter length</h3>
<form name=frm action="MyServlet" onSubmit="return validateForm();">
<input name="lengthTxt" />
<br>
<br>
<input type = "submit" value = "Submit"/>
</form>
</body>
</html>
这看起来很疯狂,在某些浏览器上检查了这段代码后,它将执行表单提交事件,甚至是onsubmit返回的带有错误值的此类事件。
onsubmit="return validateForm()";
这样就可以防止使用event.preventDefault()
函数进一步执行表单。
这样在onsubmit
中使用条件语句可以节省一天。下面是要使用的完整语句。
<form onsubmit="event.preventDefault(); return validateMyForm();">
还有什么,jz评论。
如果您在字段中输入了错误的名称,则可能会发生,否则应该可以正常工作。 请再次检查Java脚本功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.