jQueryForm插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交。jQueryForm有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用。
HTML
首先我们载入jquery库和jquery.form.js插件。jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/
<scripttype="text/javascript"src="jquery.js"></script>
<scripttype="text/javascript"src="jquery.form.min.js"></script>
<formid="my_form"action="submit.PHP"method="post">
<p>姓名:<inputtype="text"name="uname"id="uname"class="input"></p>
<p>性别:<inputtype="radio"name="sex"value="1"checked>男<inputtype="radio"
name="sex"value="2">女</p>
<p>年龄:<inputtype="text"name="age"id="age"class="input"style="width:50px"></p>
<pstyle="margin-left:30px"><inputtype="submit"class="btn"value="提交">
<spanid="msg"></span></p>
</form>
<divid="output"></div>
表单中,要求输入姓名、性别和年龄,然后提交到submit.PHP处理,通常情况下,点击“提交”按钮后,页面会转到submit.PHP处理表单数据,而我们使用jquery.form插件后,页面并不会跳转,直接完成了一个ajax交互。
jQuery
我们很方便的调用jquery.form插件,利用ajaxSubmit()使得整个表单的ajax提交过程变得非常的简单。
$(function(){
varoptions={
beforeSubmit:showRequest,//提交前处理
success:showResponse,//处理完成
resetForm:true,
dataType:'json'
};
$('#my_form').submit(function(){
$(this).ajaxSubmit(options);
});
});
functionshowRequest(formData,jqForm,options){
varuname=$("#uname").val();
if(uname==""){
$("#msg").html("姓名不能为空!");
returnfalse;
}
varage=$("#age").val();
if(age==""){
$("#msg").html("年龄不能为空!");
returnfalse;
}
$("#msg").html("正在提交...");
returntrue;
}
functionshowResponse(responseText,statusText){
$("#msg").html('提交成功');
varsex=responseText.sex==1?"男":"女";
$("#output").html("姓名:"+responseText.uname+"性别:"+sex+"年龄:"+responseText.age);
}
以上代码完成了表单提交前的验证以及提交后的处理。表单数据提交到submit.PHP后,我们可以根据实际情况通过submit.PHP检测数据、将数据写入数据库,返回操作结果等等操作,本文不再列出代码。
ajaxSubmit()选项设置
ajaxSubmit()提供了丰富的选项设置,我们根据使用的可能性大小进行列表,以供参考。
属性 | 描述 |
url | Ajax请求将要提交到该url,默认是表单的action属性值 |
type | 指定提交表单数据的方法(method):“GET”或“POST”。默认值:表单的method属性值(如果没有找到默认为“GET”)。 |
dataType | 期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持: 'xml':如果dataType=='xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定,将传回responseXML值。 'json':如果dataType=='json',服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。。 'script':如果dataType=='script',服务器响应将求值成纯文本。。 默认值:null(服务器返回responseText值) |
target | 指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。 默认值:null。 |
beforeSubmit | 表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果“beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。 默认值:null |
success | 表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。 默认值:null |
clearForm | 表示如果表单提交成功是否清除表单数据。默认值:null |
resetForm | 表示如果表单提交成功是否进行重置。默认值:null |
jquery.form插件还提供了formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields()和resetForm()等方法。通常我们可以使用表单验证插件和jquery.form插件一起使用,效果更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。