有你在真好 的个人博客
ajaxForm和ajaxSubmit提交From的区别
阅读:2143 添加日期:2021/3/27 23:30:50 原文链接:https://www.toutiao.com/item/5403337908/

前几天在学习form表单提交时看到这两种方法,这两种方法都是实现form的ajax提交的方法,看了很多资料还是不太明白其用法和区别,最后直接自己写demo,很快就理解,所以说实操是学习的最快捷直接的途径。好了,下面回到正题:

在使用这两种方法之前,首先需要安装form.js的插件,下载就不放了,网上一搜就有;

<script src="/Tool/HtmlPage/S45/js/jquery-form.js"></script>

一、首先说用法

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按钮。

ajaxForm执行的时候其实相当于

$("form").submit(function(){

$(this).ajaxSubmit();

return false; //此句解释了为什么ajaxSubmit会自动提交表单,想要阻止自动提交,必须return false;

})

《前端观察》专注于网站前端设计与前端开发、纯粹的前端技术分享。更多前端文章请订阅本头条号,也可以关注微信订阅号qianduanguancha(长按可复制)

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号