如何阻止JSP页面执行servlet
How do I stop JSP page from executing the servlet?
我只是想做一个简单的web应用程序。它应该采取所有的输入,验证它们,并将其存储在数据库或显示错误。我有问题,而通过外部javascript验证我的表单。如果字段为空,则完成所有检查,但是JSP将控件定向到Servlet。我需要阻止JSP页面继续前进。请帮助!下面是代码:
JSP: <%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome</title>
<script type="text/javascript" src="js/validationJS.js"></script>
</head>
<body>
<h1 align="center">Teacher Management System</h1>
<form name="TeacherRegistrationForm" action="TeacherController" method="post" >
<input type="hidden" name="source" value="AddTeacher">
<table>
<tr>
<td>
ID:<input type="text" name="teacherId" />
</td>
</tr>
<tr>
<td>
Name:<input type="text" name="teacherName" />
</td>
</tr>
<tr>
<td>
Address:<textarea type="text" rows="5" name="teacherAddress" ></textarea>
</td>
</tr>
<tr>
<td>
Qualification:<input type="text" name="teacherQualification" />
</td>
</tr>
<tr>
<td>
Years Of Experience:<input type="text" name="teacherExp" />
</td>
</tr>
<tr>
<td>
Age:<input type="text" name="teacherAge" />
</td>
</tr>
<tr>
<td>
<input type="submit" name="teacherAdd" value="ADD" onclick="validate()"/>
<input type="reset" name="teacherReset" value="RESET FIELDS" /><br><br>
<a href="WelcomePage.jsp" style="text-decoration: underline">Go Back</a>
</td>
</tr>
</table>
</form>
</body>
</html>
Javascript: function validate()
{
boolean result=false;
if(document.TeacherRegistrationForm.teacherId.value=="")
{
document.TeacherRegistrationForm.teacherId.value= "Please Enter a valid ID";
document.TeacherRegistrationForm.teacherId.focus();
alert("Please enter valid ID");
result=false;
}else{result=true;}
return result;
}
需要使用<input type="button"
您需要将<input type="submit" name="teacherAdd" value="ADD" onclick="validate()"/>
更改为如下所示:
<input type="button" name="teacherAdd" value="ADD" onclick="validate()"/>
<input type="submit"
将表单提交给servlet,而不是使用<input type="button"
并调用validate()
(您正在这样做)来验证输入,一旦输入有效,您可以使用document.myform.submit()
来提交form
。
您可以参考下面更新的java脚本validate()
方法:
function validate() {
if(document.TeacherRegistrationForm.teacherId.value=="") {
document.TeacherRegistrationForm.teacherId.value= "Please Enter a valid ID";
document.TeacherRegistrationForm.teacherId.focus();
alert("Please enter valid ID");
return;
} else{
document.TeacherRegistrationForm.submit();
}
}
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- HTML表单提交时未执行外部函数
- 在Safari执行javascript之前对其进行修改
- Amd,希望确保某个东西总是最后执行
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 如何在成功执行 servlet 后在 jsp 中生成成功警报
- 如何从servlet中执行警报响应
- 如何阻止JSP页面执行servlet
- 页面上的链接调用servlet,执行后返回到上一页
- 加载外部HTML,其中包含一个ajax调用servlet脚本,并只执行一次