欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【JSP】表单提交与表单验证

程序员文章站 2022-06-09 15:34:44
...

几点小结:

(1)使用form表单提交数据,提交后的数据将会在另一个jsp页面进行处理。也可以实现不跳转,同时使用ajax进行局部更新,这里暂不进行说明。

(2)提交表单前需要进行数据验证时,响应在form中onsubmit事件,数据合法则返回true,然后实现页面跳转;数据不合要求则返回false,页面便不会跳转。

(3)要考虑中文参数的传递。由于浏览器,web服务器,数据库等的默认编码不一致,很容易出现中文乱码(参考:解决jsp中文乱码修改mysql编码)。

 

以下是一个简单的表单提交与表单验证的例子。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>

<!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=UTF-8">
		<title>表单提交</title>
	</head>
	<body>
		<p align="center"><b>表单提交</b><br></p>
		<center>
			<div align="left">
				<table height="60" border="0" align="left">
					<tr>
						<td>
							<form name="channelform" action="addChannel.jsp"
							 onsubmit="return validate_channel_info(this);" method="post">
								名字: 
								<input type="text" name="channelname" />
								<br />
								ID: 
								<input type="text" name="channelid" />
								<br />
								<input type="submit" value="提交">									
							</form>
						</td>
					</tr>
				</table>				
				
				
				<script type="text/javascript">
					function validate_channel_info(channelform)
					{
						if(channelform.channelname.value=="")
						{
							alert("请输入正确的名字");
							return false;
						}
						else if(!isNumber(channelform.channelid.value))
						{
							alert("请输入合法ID");
							return false;
						}
						return true;
					} 
					
					function isNumber(str)          // 判断是否为非负整数
					{
						var rx = /^[0-9]+$/;
						return rx.test(str);
					}
					
				</script>
			</div>
		</center>
	</body>
	
</html>

 这里要注意一下:onsubmit="return 函数名();",其中return不能少,否则即使js里边返回false,页面还是会跳转的!

 

转载:http://blog.csdn.net/moxiaomomo/article/details/8542903