【发布时间】:2014-12-11 12:50:36
【问题描述】:
我有以下带有一个输入文本框的 jsp 页面,在输入数字后,该页面被重定向到一个 servlet,我在其中检索该数字并将其显示在页面上。我正在尝试在 JavaScript 中进行验证,但尽管如此,它仍在执行 servlet,即使验证返回 false 并且我在以下行的 servlet 上的 doGet 方法中得到 java.lang.NumberFormatException: For input string: "":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>
【问题讨论】:
-
这是一个 Javascript 问题,而不是 Java(JSP、Servlet 等)。尝试使用 Chrome DevTool 调试 javascript
-
document.frm.username 字段在哪里??
-
@Vedang Shrimankar 我的拼写错误,应该是 lengthTxt
-
现在检查它是否有效??
-
你遇到什么错误??重定向到服务器端?
标签: java javascript jsp validation servlets