当前位置: 首页 > news >正文

ajaxForm与ajaxSubmit的区别

在使用这两种方法之前,首先需要安装form.js的插件;

一、首先说用法,ajaxForm和ajaxSubmit都可以接收0或1个参数,该参数可以是一个变量、一个对象或回调函数,这个对象主要有以下参数:

var object= {
url:url,      //form提交数据的地址
       type:type,    //form提交的方式(method:post/get)
       target:target,  //服务器返回的响应数据显示的元素(Id)号
beforeSerialize:function(){} //序列化提交数据之前的回调函数
       beforeSubmit:function(){},  //提交前执行的回调函数
       success:function(){},     //提交成功后执行的回调函数
error:function(){}, //提交失败执行的函数
       dataType:null,       //服务器返回数据类型
       clearForm:true,       //提交成功后是否清空表单中的字段值
       restForm:true,       //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态
       timeout:6000         //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。  

}

html代码:

<form action="" id="persondetail" method="post">
<div>姓名:<input name="text1" type="text" class="inputbox"></div>
<div>年龄:<input name="text2" type="text" class="inputbox"></div>
<div>爱好:<input name="text3" type="text" class="inputbox"></div>
<div><input id="submitbtn" type="submit" value="提交"></div>
</form>

JS代码:-ajaxForm

    $(function(){
       $("form").ajaxForm(object);
       })
 -ajaxSubmit
    $(function(){
       $('#submitbtn').click(function(){
           $("form").ajaxSubmit(object);
       })
    })
 -参数也可以为一个回调函数
$(function(){
    $('#submitbtn').click(function(){
           $("form").ajaxSubmit(function(data){
                alert(data);
           })
    })
 })

二、再说这两种方法的区别

这两种方法主要的区别是ajaxForm不能主动提交form,函数只是为提交表单做准备需要以submit来触发提交。而ajaxSubmit会主动提交表单,同时可以在点击其他按钮时也可以触发提交,不一定是submit按钮。

 $("form").submit(function(){
            $(this).ajaxSubmit();
            return false;        //此句解释了为什么ajaxSubmit会自动提交表单,想要阻止自动提交,必须return false;
        })

三、用代码说明两者的区别:
1.ajaxForm()方法–不能主动提交form,函数只是为提交表单做准备需要以submit来触发提交,仍然会进行页面的跳转

<form id="myForm" action="hello.php" method="post" onsubmit="return sub()"> 
        <input type="text" name="name" /> <br/>
        <input type="text" name="address" /><br/>
        <input type="submit" id="test" value="提交"/> <br/>
</form>

function sub(){
            $("#myForm").ajaxForm(function(message){
                console.log(message);
            });
            return false;//控制页面的跳转
}

通过上面的代码看出,ajaxForm()方法不能主动提交form表单,要借助于提交按钮的submit事件触发提交,虽然有return false,仍然会进行页面的跳转。。
2.ajaxSubmit()方法–可以主动提交表单,点击其他按钮也就可以触发提交,不一定是submit按钮;利用return false可以阻止页面的跳转。。

<form id="myForm" action="hello.php" method="post"> 
        <input type="text" name="name" /> <br/>
        <input type="text" name="address" /><br/>
        <input type="button" id="test" value="提交" onclick="sub()"/> <br/>
</form>

function sub(){
            $("#myForm").ajaxSubmit(function(message){
                console.log(message);
            });
            return false;//控制页面的跳转
}

上面代码中,ajaxSubmit()可以主动提交表单,可以不写在submit按钮的事件里面,点击其他按钮也可以触发;利用return false可以阻止页面的跳转。。

相关文章:

  • rem是如何实现自适应布局的
  • 如何实现图片的异步加载
  • AMD和CMD的区别
  • 使用Cesium.js加载3D模型
  • js中for in与for of之间的差异
  • Cesium实现三维可视化一般步骤
  • Vue2.0 探索之路——生命周期和钩子函数的一些理解
  • vuejs实践todolist列表
  • vue中的watch监听事件机制
  • CommonJS、AMD、CMD的区别
  • npm局部安装和全局安装文件的区别
  • querySelector操作dom的用法
  • webpack打包文件出错
  • npm中的--save-dev与--save的区别
  • vue-router路由导航钩子
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • C++类中的特殊成员函数
  • CEF与代理
  • cookie和session
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP 简介
  • Javascript 原型链
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js继承的实现方法
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Promise面试题2实现异步串行执行
  • React-Native - 收藏集 - 掘金
  • Redux 中间件分析
  • session共享问题解决方案
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue.js框架原理浅析
  • 分布式任务队列Celery
  • 聚簇索引和非聚簇索引
  • 问题之ssh中Host key verification failed的解决
  • 我这样减少了26.5M Java内存!
  • 一些css基础学习笔记
  • 译米田引理
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • ###C语言程序设计-----C语言学习(6)#
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (数据结构)顺序表的定义
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)EOS中账户、钱包和密钥的关系
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET下ASPX编程的几个小问题
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • [20171106]配置客户端连接注意.txt
  • [AX]AX2012 AIF(四):文档服务应用实例