用javascript响应表单的提交事件


我们有的时候要在提交表单之前对用户输入的数据进行验证,如果输入的不正确的话,就给一提示,并让从新输入,那么我们是怎么实现的呢?
现在我以一个需求的实现为例进行简要说明:
我的功能要求:
用户输入一个类型,要求是数字,所以我们进行数字验证。
在提交的时候对起类型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 返回值才能实现。也就是下划线显示的部分。
自己的一点粗浅认识,望多指教

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3