• 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>

      

     

     

     

  • 相关阅读:
    C#多线程之Parallel中 类似于for的continue,break的方法
    C#中静态类、静态方法和静态变量的简单说明
    C# 类属性封装、字段的详解
    BackgroundWorker 后台进程控制窗体label、richtextbook内容刷新
    asp.net 实现 tts
    System.Speech.Synthesis 添加暂停、继续功能
    微软TTS,Neospeech TTS 简单使用
    VS2015如何批量统改相同变量名
    VS2015时显示无法启动此程序 因为计算机中丢失ucrtbased.dll
    Windows环境下MinGW/gcc安装和环境配置
  • 原文地址:https://www.cnblogs.com/wfy680/p/14537200.html
Copyright © 2020-2023  润新知