最近在使用ajaxForm,随便把使用方法记下下来,以便以后回顾。
1 ,引入依赖脚本
<script type="text/JavaScript" src="/js/jQuery/jquery.form.js"></script> //ajaxForm 依赖脚本
<script type="text/javascript" src="/js/jquery/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery.easyui.min.js"></script>
2 使用方法
<form name="testForm" id="testForm" >
<input type="button" value="submit"/>
</form>
<script type="text/javascript">
var ajax_option={
url:"login",//默认是form action
success:function(data){
}
$('#testForm').ajaxSubmit(ajax_option);
}
</script>
//注意$("#testForm") 引号中名称必须要和form元素id值要保持一致
3 ajaxSubmit 和ajaxForm区别
ajaxForm不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。提交动作必须由submit开始
ajaxSubmit 马上由AJAX来提交表单。你可以在任何情况下进行该项提交。
4
option的参数
var options = {
target: '#output1', // target element(s) to be updated with server response
beforeSubmit: showRequest, // pre-submit callback
success: showResponse // post-submit callback
// other available options:
//url: url // override for form's 'action' attribute
//type: type // 'get' or 'post', override for form's 'method' attribute
//dataType: null // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // clear all form fields after successful submit
//resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout: 3000
};
转自:http://blog.csdn.net/h70614959/article/details/8810270
====================================================================================
前几天在学习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;
})