我們有的時候要在提交表單之前對用戶輸入的數據進行驗證,如果輸入的不正確的話,就給一提示,并讓從新輸入,那么我們是怎么實現的呢?
現在我以一個需求的實現為例進行簡要說明:
我的功能要求:
用戶輸入一個類型,要求是數字,所以我們進行數字驗證。
在提交的時候對起類型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 返回值才能實現。也就是下劃線顯示的部分。
自己的一點粗淺認識,望多指教。