我们有的时候要在提交表单之前对用户输入的数据进行验证,如果输入的不正确的话,就给一提示,并让从新输入,那么我们是怎么实现的呢?
现在我以一个需求的实现为例进行简要说明:
我的功能要求:
用户输入一个类型,要求是数字,所以我们进行数字验证。
在提交的时候对起类型id字段进行是否为空验证,如果为空的话,就给一个提示,并要求起从新输入
我们的JSP代码如下:
<%@page contentType="text/html; charset=GBK"%>
<html>
<head>
<title>addNewsType</title>
</head>
<body bgcolor="#ffffff">
<h2>新闻类型添加</h2>
<hr />
<form name="form1" method="post" action="<%=request.getContextPath()%>/news/NewsTypeAddAction.sh"
onSubmit="return actionCheck();">
<table>
<tr>
<td>新闻类型编号</td>
<td>
<input type="text" name="typeid" onBlur="isDigit(this.value)"> </td>
</tr>
<tr>
<td>新闻类型名称</td>
<td>
<input type="text" name="typename"> </td>
</tr>
<tr>
<td>新闻存放目录名称</td>
<td>
<input type="text" name="dir"> </td>
</tr>
<tr>
<td>使用模版名称</td>
<td>
<input type="text" name="templatename"> </td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</div></td>
</tr>
</table>
</form>
<script type="text/javascript">
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)&&s!=""){
alert("请您输入数字!");
document.form1.typeid.value="";
document.form1.typeid.focus();
return false;
}
}
function actionCheck(){
if(document.form1.typeid.value==""){
alert("新闻类型编号不能为空!");
document.form1.typeid.value="";
document.form1.typeid.focus();
return false;
}
}
</script>
</body>
</html>
我们的javascript检验部分不需要解释,主要是我们的检验代码要在要在form的onSubmit事件中实现,并且要使用return 返回值才能实现。也就是下划线显示的部分。
自己的一点粗浅认识,望多指教。