• 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 ()
       {
          if (addForm.user.value == "")
          {
              alert("请填写用户名!");
              addForm.username.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.username.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>
    27 
    28 <form action="test.php" method="post" name="addForm">
    29      <div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
    30      <div>标题:<input type="text" name="title" maxlength="50"/></div>
    31      <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
    32      <div><input type="button" name="submit" value="发表留言" onclick="SendForm();"/></div>
    33 </form>
  • 相关阅读:
    课题:快速建立自己的外链资源圈
    【干货分享】常用端口服务对照表
    【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)
    网站渗透测试原理及详细过程
    渗透测试入门DVWA 教程1:环境搭建
    CTF---密码学入门第七题 杯酒人生
    CTF---密码学入门第六题 古典密码
    CTF---密码学入门第五题 传统知识+古典密码
    CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案
    CTF---密码学入门第四题 困在栅栏里的凯撒
  • 原文地址:https://www.cnblogs.com/sjhsszl/p/9014281.html
Copyright © 2020-2023  润新知