form表单提交onclick和onsubmit

form表单提交onclick和onsubmit

     

onsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。

在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在onsubmit中验证。

但是onclick比onsubmit更早的被触发。

  提交过程

1、用户点击按钮 ---->

2、触发onclick事件  ----> 

3、onclick返回true或未处理onclick ----> 

4、触发onsubmit事件  ----> 

5、onsubmit未处理或返回true  ------> 

6、提交表单.

     onsubmit处理函数返回false,onclick函数返回false,都不会引起表单提交。

第一种:onsubmit

 

<script language="javascript">
   function CheckPost ()                //有onsubmit调用,检查用户名称和标题
   {
      if (addForm.user.value == "")     //form名称.input的名称user
      {
          alert("请填写用户名!");
          addForm.user.focus();
          return false;
      }
     if (addForm.title.value.length < 5)
     {
          alert("标题不能少于5个字符!");
          addForm.title.focus();
          return false;
     }
     return true;
   }
</script>

  

<form action="test.php" method="post" name="addForm"  onsubmit="return CheckPost();">
     <div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
     <div>标题:<input type="text" name="title" maxlength="50"/></div>
     <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
     <div>
           <input type="submit" name="submit" value="发表留言"/>
     </div>
</form>

  

 

第二种:onclick

 

 1 <script language="javascript">
 2     function SendForm ()
 3     {
 4         if(CheckPost())
 5         {
 6             document.addForm.submit();
 7         }
 8     }
 9
10     function CheckPost ()
11     {
12          if (addForm.user.value == "")
13          {
14                alert("请填写用户名!");
15                addForm.user.focus();
16                return false;
17          }
18          if (addForm.title.value.length < 5)
19          {
20                alert("标题不能少于5个字符!");
21                addForm.title.focus();
22                return false;
23          }
24          return true;
25     }
26 </script>

  

<form action="test.php" method="post" name="addForm">
   <div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
   <div>标题:<input type="text" name="title" maxlength="50"/></div>
   <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
   <div><input type="button" name="submit" value="发表留言" onclick="SendForm();"/></div>    按键的onclick属性调用js函数提交form
</form>

  

 

 

 

 

posted @ 2021-03-15 13:55  清语堂  阅读(572)  评论(0编辑  收藏  举报