zoukankan      html  css  js  c++  java
  • form表单的提交方式

    1. 最基本的提交方式,<input type="submit" value="提交">,或者<button type="submit">提交</button>,这两种方式效果是一样的。如果需要再提交表单之前进行验证,可以在form标签中设置onsubmit属性,如下
       <form id="form1" action="<%=basePath%>code/getCode" onsubmit="return mySubmit()">
              <label>name</label>
              <label><input name="name" value=""></label>
              <label><input type="submit" value="提交"/></label>
          </form>

      函数mySubmit()如下:

      <script type="text/javascript">
              function mySubmit(){
                  var name=document.getElementsByName("name")[0].value;
                  if(name.trim()==""){
                      alert("请填写名字");
                      return false;
                  }
                  return true;
              }
          </script>
    2. 使用js的submit()(注意:此函数不是jquery的,而是Html DOM的方法)函数进行表单提交,此类表单提交不会触发onsubmit句柄,因此如果需要验证表单,不能依赖onsubmit进行验证,可以用如下方式:
       <form id="form1" action="<%=basePath%>code/getCode">
              <label>name</label>
              <label><input name="name" value=""></label>
              <label><button type="button" onclick="myfun()" >提交</button></label>
          </form>

      函数myfun的代码如下

          <script type="text/javascript">
              function myfun(){
                  var name=document.getElementsByName("name")[0].value;
                  if(name.trim()==""){
                      alert("请填写名字");
                      return false;
                  }
                  
                  document.getElementById("form1").submit();
              }
          </script>
    3. 使用jquery的submit()方法,区别于js原生的submit方法,jquery的submit方法是能够触发onsubmit句柄的,看下面的例子
       <form id="form1" action="<%=basePath%>code/getCode" onsubmit="return mysubmit()">
              <label>name</label>
              <label><input name="name" value=""></label>
              <label><button type="button" onclick="myfun()" >提交</button></label>
          </form>

      js代码如下:

          <script type="text/javascript" src="<%=basePath%>resources/js/jquery1.8.js"></script>
          <script type="text/javascript">
              function myfun(){
                  $("#form1").submit();
              }
              function mysubmit(){
                  var name=document.getElementsByName("name")[0].value;
                  if(name.trim()==""){
                      alert("请填写名字");
                      return false;
                  }
                  return true;
              }
          </script>

      4.ajax的方式提交

          <script type="text/javascript">
              function myfun(){
                  
                  var name=document.getElementsByName("name")[0].value;
                  if(name.trim()==""){
                      alert("请填写名字");
                      return false;
                  }
                  $.ajax({
                      url:'<%=basePath%>code/getCode',
                      type:'get',
                      async:false,
                      data:'name='+name,
                      success:function(data){
                          
                      }
                  })
                  
              }
          </script>

      准确来说,这不算表单提交,只能是ajax请求。

  • 相关阅读:
    文本内容超长显示省略号,鼠标移上自动显示全部内容(适用于EasyUI DataGrid)
    Spring注入静态变量的方法,以及CXF如何获取客户端IP
    Agile PLM 表结构说明
    session_start() failed: .......No space left on device问题解决
    如何配置sublime xdebug进行远程调试
    宝塔面板for linux
    Ubuntu 16.04下ssh启用root登录
    mysql- Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
    表单重复提交、大并发库存超卖?面试官提出了一个老生常谈的问题,让我陷入了沉思...
    ubuntu16.04 wordpress建站教程
  • 原文地址:https://www.cnblogs.com/yxjdragon/p/5980356.html
Copyright © 2011-2022 走看看