首页 > 语言 > JavaScript > 正文

jquery.form.js实现将form提交转为ajax方式提交的方法

2024-05-06 14:43:31
字体:
来源:转载
供稿:网友

本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法。分享给大家供大家参考。具体分析如下:

这个框架集合form提交、验证、上传的功能。
这个框架必须和jquery完整版结合,否则使用min则无效。
原理:利用js进行对form进行组装成ajax的url和data,原理还是用ajax来提交,其实这完全可以自己写,但是有这个框架可能会更简单。

一、最简单例子:

第一步:引用js

<!--这里的min是自己用js压缩工具对完整版进行的压缩并不是真正的min,所以好使--><script type="text/javascript" src="js/jquery-1.7.min.js"></script><script type="text/javascript" src="js/jquery.form.js"></script>

第二步:页面写form

<form id="showDataForm" action="/024pm/f_shopUser.do?method=login" method="post"> <input type="text" value="" name="name" maxlength="2"/> <input type="password" value="" name="password" maxlength="2"/> <input type="submit" value="提交"/></form><div id="output1" style="width:1000px;height:200px;background-color:#eee;"></div>

第三步:写js调用jquery.form.js,对form表单进行ajax提交

$(document).ready(function() { var options = {  target: '#output1',  // 从服务传过来的数据显示在这个div内部 也就是ajax局部刷新  beforeSubmit: showRequest, // ajax提交之前的处理  success:  showResponse // 处理之后的处理 }; $('#showDataForm').submit(function() {  $(this).ajaxSubmit(options);  return false;   //非常重要,如果是false,则表明是不跳转  //在本页上处理,也就是ajax,如果是非false,则传统的form跳转。 });});function showResponse(responseText, statusText, xhr, $form) { alert(xhr.responseText+"=="+$form.attr("method")+'status: ' +  statusText + '/n/nresponseText: /n' + responseText);//xhr:说明你可以用ajax来自己再次发出请求//$form:是那个form对象,是一个jquery对象//statusText:状态,成功则为success//responseText,服务器返回的是字符串(当然包括html,不包括json)}function showRequest(formData, jqForm, options) { //formData是数组,就是各个input的键值map数组 //通过这个方法来进行处理出来拼凑出来字符串。 //formData:拼凑出来的form字符串,比如name=hera&password, //其实就是各个表单中的input的键值对, //如果加上method=XXXX,那也就是相当于ajax内的data。 var queryString = $.param(formData); alert(queryString+"======"+formData.length); for (var i=0; i < formData.length; i++) { alert(formData[i].value+"==============="+formData[i].name); } //jqForm,jquery form对象 var formElement = jqForm[0]; alert($(formElement).attr("method")); alert($(jqForm[0].name).attr("maxlength")); //非常重要,返回true则说明在提交ajax之前你验证 //成功,则提交ajax form //如果验证不成功,则返回非true,不提交 return true;}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选