分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Jquery插件之ajaxForm简介

发布时间:2023-09-06 01:13责任编辑:董明明关键词:暂无标签

我们平常在使用jQuery异步提交表单的时候,一般都是加载在submit事件中,如下所示:

 1 $(document).ready(function(){ 2 ????$(‘#myForm‘).submit(function(){ 3 ??????$.ajax({ 4 ????????????url:‘www.xxx.com‘, 5 ????????????data:$(‘#myForm‘).serialize(), 6 ????????????dataType:‘json‘, 7 ????????????error:function(data){ 8 ?????????????????alert(data); 9 ????????????}10 ????????????success:function(data){11 ???????????????alert(data);12 ????????????}13 14 ??????});15 ????});16 })

但是这样的方式掩盖了form的功能 ,使他变相的成为了无刷新的ajax技术 下面来看看更符合form的ajaxForm1 //1、回调函数使用方法

 2 $(‘#form1‘).ajaxForm(function() { ??????//注意 ajaxForm是为表单提交做准备表单并不是真的提交 他需要用submit()方法来触发! ajaxForm接收0到1个参数! 3 ???$(‘#output1‘).html("提交成功!").show();// 这个参数可以是一个回调函数 也可以是一个options对象! ????4 }); ?????????????5 $(‘#form1‘).ajaxSubmit(function() { ??????//ajaxSubmit是表单立即提交 该函数也接收0到1个参数 这个函数可以是一个匿名的回调函数 也可以是一个options对象//用法和ajaxForm类似 6 ???$(‘#output2‘).html("提交成功!").show(); ????????7 }); ????8 ???9 //2、option对象使用方法 ?10 var ajax_option={ ?11 ???target: ‘#output‘, ?????????????//把服务器返回的内容放到id为output的元素中 ??12 ???beforeSubmit: showRequest, ?????//提交前的回调函数 beforeSubmit 回调函数作为一个钩子函数 常被用来运行预提交逻辑或者是检验表单的数局 如果在该函数中 return false 那么
?????????????????????????????????????//表单将不能提交 beforeSubmit带3个调用参数 这3个调用参数 你必须显示的调用 参数1. 数组对象 formData 参数2. jQuery表单对象 jqForm,
?????????????????????????????????????//参数3.options! 其中表单数组接受一下形式的数据:[{name:‘username‘,value:‘jianjie‘},{name:‘password‘,value:‘screat‘}]
13 ???success: showResponse, ?????????//提交成功后的回调函数14 ???url: url, ??????????????????????//提交的url地址 如果没有 则默认使用表单的action 如果有则覆盖15 ???type: type, ????????????????????//提交数据的方式 如果没有 则默认使用表单的method 如果有则覆盖16 ???dataType: null, ????????????????//返回的数据类型 ?现阶段一般用json17 ???clearForm: true, ???????????????//提交成功后是否清空表单里面的数值 true为清空 false 为不清空18 ???resetForm: true, ???????????????//提交成功后是否重置表单中的数据 ?true为清空 false ?为不清空19 ???timeout: 3000 ?????????????????//设置请求的时间 ?超出时间则自动放弃连接20 }; ?21 //formData: 数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{name:user,value:val },{name:pwd,value:pwd}] ???22 //jqForm: ??jQuery对象,封装了表单的元素 ??????23 //options: ?options对象 ???24 function showRequest(formData, jqForm, options){ ???25 ???var queryString = $.param(formData); ??//序列化一个key/value对象 name=1&password=123426 ???var formElement = jqForm[0]; ?????????????//jquery对象和js对象相互的转换27 ???var address = formElement.address.value; ?//获取表单元素的 name=address的输入框的value值 28 ???return true; ?//只要不反回false 表单都会提交 在这里就对表单进行验证29 }; ???30 function showResponse(responseText, statusText){ ???31 ???//dataType=xml ???32 ???var name = $(‘name‘, responseXML).text(); ???33 ???var address = $(‘address‘, responseXML).text(); ???34 ???$("#xmlout").html(name + " ?" + address); ???35 ???//dataType=json ???36 ???$("#jsonout").html(data.name + " ?" + data.address); ???37 }; ???38 $(‘#form1‘).ajaxSubmit(ajax_option); ?

ajaxForm和ajaxSubmit的区别 : ajaxForm不主动提交数据 需要事件触发 而ajaxSubmit直接就是提交表单不需要事件的触发

ajaxForm实质上也是$.ajax()实现的一种! 只不过ajaxForm更接近form的特性! 用法习惯依照个人习惯

    //1、回调函数使用方法
  1. $(‘#form1‘).ajaxForm(function(){
  2. $(‘#output1‘).html("提交成功!").show();
  3. });
  4. $(‘#form1‘).ajaxSubmit(function(){
  5. $(‘#output2‘).html("提交成功!").show();
  6. });
  7. //2、option对象使用方法
  8. varajax_option={
  9. target:‘#output‘,//把服务器返回的内容放入id为output的元素中
  10. beforeSubmit:showRequest,//提交前的回调函数
  11. success:showResponse,//提交后的回调函数
  12. url:url,//默认是form的action,如果申明,则会覆盖
  13. type:type,//默认是form的method(getorpost),如果申明,则会覆盖
  14. dataType:null,//html(默认),xml,script,json...接受服务端返回的类型
  15. clearForm:true,//成功提交后,清除所有表单元素的值
  16. resetForm:true,//成功提交后,重置所有表单元素的值
  17. timeout:3000//限制请求的时间,当请求大于3秒后,跳出请求
  18. };
  19. //formData:数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{name:user,value:val},{name:pwd,value:pwd}]
  20. //jqForm:jQuery对象,封装了表单的元素
  21. //options:options对象
  22. functionshowRequest(formData,jqForm,options){
  23. varqueryString=$.param(formData);//name=1&address=2
  24. varformElement=jqForm[0];//将jqForm转换为DOM对象
  25. varaddress=formElement.address.value;//访问jqForm的DOM元素
  26. returntrue;//只要不返回false,表单都会提交,在这里可以对表单元素进行验证
  27. };
  28. functionshowResponse(responseText,statusText){
  29. //dataType=xml
  30. varname=$(‘name‘,responseXML).text();
  31. varaddress=$(‘address‘,responseXML).text();
  32. $("#xmlout").html(name+""+address);
  33. //dataType=json
  34. $("#jsonout").html(data.name+""+data.address);
  35. };
  36. $(‘#form1‘).ajaxSubmit(ajax_option);

Jquery插件之ajaxForm简介

原文地址:http://www.cnblogs.com/xsatc5211314/p/7581004.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved