jQuery Form 表单提交插件的各类api应用
- 格式:docx
- 大小:207.39 KB
- 文档页数:9
jQuery表单提交form方式<script type ="text/javascript" src ="../js/jquery.js"></script> //必须要引用<script type ="text/javascript" src ="../js/jquery.form.js"></script> //必须要引用<script type="text/javascript">// wait for the DOM to be loaded$(document).ready(function(){$('#Tip').hide();//显示操作提示的元素不可见$('#form1').submit(function()//提交表单{//alert("ddd");var options = {target:'#Tip', //后台将把传递过来的值赋给该元素 url:'ReturnVisit.aspx?flag=do', //提交给哪个执行 type:'POST',success: function(){ alert($('#Tip').text());} //显示操作提示};$('#form1').ajaxSubmit(options);return false; //为了不刷新页面,返回false,反正都已经在后台执行完了,没事!});});</script><body><form id="form1" runat="server"><div><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td colspan="2" class="tableCategory">客户回访</td></tr><tr><td width="30%" class="tableBg1">客户名称:</td><td class="tableBg2"><asp:TextBox ID="txtF_CorpName" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">回访主题:</td><td class="tableBg2"><asp:TextBox ID="txtF_ReturnVisitTitle" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">联系人:</td><td class="tableBg2"><asp:TextBox ID="txtF_ContractPerson" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">联系人职务:</td><td class="tableBg2"><asp:TextBox ID="txtF_ContractPersonPosition" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">联系电话:</td><td class="tableBg2"><asp:TextBox ID="txtF_ContractPhone" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">回访时间:</td><td class="tableBg2"><asp:TextBox ID="txtF_ReturnVisitDate" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">回访内容:</td><td class="tableBg2"><asp:TextBox ID="txtF_ReturnVisitContent" runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1">回访相关文档:</td><td class="tableBg2"><asp:TextBox ID="txtF_ReturnVisitFile"runat="server"></asp:TextBox></td></tr><tr><td width="30%" class="tableBg1"> </td><td class="tableBg2"><asp:Button ID="Submit_BT" runat="server" Text="确定" CssClass="button" /><input type="reset" class="button" value="还原" /></td></tr></table><span id="Tip"></span></div></form></body>。
jQueryajaxForm()的应⽤jQuery Form插件是⼀个优秀的Ajax表单插件,可以⾮常容易地、⽆侵⼊地升级HTML表单以⽀持Ajax。
提供了很多有⽤的⽅法可以让你轻松的处理表单⾥的数据和表单的提交过程。
本⽂就是介绍了ajaxForm()的应⽤.⼀、ajaxForm() 介绍ajaxForm预处理将要使⽤ AJAX ⽅式提交的表单,将所有需要⽤到的事件监听器添加到其中。
它不是提交这个表单。
在页⾯的ready函数⾥使⽤ajaxForm来给你页⾯上的表单做这些AJAX提交的准备⼯作。
ajaxForm 需要零个或⼀个参数。
这唯⼀的⼀个参数可以是⼀个回调函数或者是⼀个可选参数对象。
是否可以连环调⽤: 是。
⼆、引⼊依赖的js<script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script>三、编写页⾯<form id="myForm" action="demo.jsp" method="post">名称: <input type="text" name="name" /> <br/>地址: <input type="text" name="address" /><br/>⾃我介绍: <textarea name="comment"></textarea> <br/><input type="submit" id="test" value="提交" /> <br/><div id="output1" style="display:none;"></div></form>四、调⽤ajaxForm() ⽅法<script type="text/javascript">$(document).ready(function() {$('#myForm').ajaxForm(function() {$('#output1').html("提交成功!欢迎下次再来!").show();});});</script>五、详细代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>jQuery Form插件例⼦-ajaxForm()</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function() {$('#myForm').ajaxForm(function() {$('#output1').html("提交成功!欢迎下次再来!").show();});});</script></head><body><h3> Demo 1 : form插件的使⽤--ajaxForm(). </h3><form id="myForm" action="demo.jsp" method="post">名称: <input type="text" name="name" /> <br/>地址: <input type="text" name="address" /><br/>⾃我介绍: <textarea name="comment"></textarea> <br/><input type="submit" id="test" value="提交" /> <br/><div id="output1" style="display:none;"></div></form></body></html>六、编写接收表单的测试代码。
jquery$(#form1).serialize()序列化提交表单1、$("#form1").serialize()把form表单的值序列化成⼀个字符串,如username=admin&password=admin123<form id="form1"><input name="username" type="text" value=""/><input name="password" type="text" value=""/></form>注意:必须存在name属性2、$("#form1").serializeObject()把form表单的值序列化成⼀个json对象,如{username:admin,password:admin123}3、JSON.parse()将字符串解析成Json对象var str = '{"key1": "value1","key2": "value2","key3": "value3"}';var obj = JSON.parse(str);4、JSON.stringify()将Json对象解析成字符串5、$("#form1").serializeArray()把form表单的值序列化成⼀个数组,如[ {username:admin,password:admin123}, {username:admin,password:admin123} ]常见问题$("#form1"). serialize()后台获取不到表单中属性为disabled的元素的值的解决办法当属性设置为"disabled"时,提交表单时,select的值⽆法传递,提交前移除disabled属性$("#conferenceType").removeAttr("disabled"); 即可。
jQueryajax提交Form表单实例(附demo源码)本⽂实例讲述了jQuery ajax提交Form表单的⽅法。
分享给⼤家供⼤家参考,具体如下:Jquery的$.ajax⽅法可以实现ajax调⽤,要设置url,post,参数等。
如果要提交现有Form需要写很多代码,何不直接将Form的提交直接转移到ajax中呢。
以前的处理⽅法如Form代码如下:<form id="Form1" action="action.aspx" method="post" >名称:<input name="name" type="text" /><br />密码:<input name="password" type="password" /><br />⼿机:<input name="mobile" type="text" /><br />说明:<input name="memo" type="text" /><br /><input type="submit" value="提交" /></form>当提交后,会跳转到action.aspx页⾯。
并可以通过Request.Params["name"]可以取到值。
思考如果不想刷新页⾯使⽤ajax,就⼜要在$.ajax中指定url,等信息,不好维护。
在⽹上查了⼀下,⽼早以前⽼外就有解决⽅案了。
使⽤ajax直接按照Form信息直接提交。
不刷新页⾯。
很好⽤,但我还是愿意⾃⼰写个⾃⼰⽤的。
JQuery提交表单Form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传,功能强大,基本满足日常应用。
1、JQuery框架下载/2、Form插件下载/jquery/form/#download3、Form插件的简单入门第二步:jquery.js和form.js文件的包含表单插件API提供了几个方法,让你轻松管理表单数据和进行表单提交。
ajaxForm增加所有需要的事件监听器,为AJAX提交表单做好准备。
ajaxForm不能提交表单。
在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。
ajaxForm接受0个或1个参数。
这个单个的参数既可以是一个回调函数,也可以是一个Options对象。
可链接(Chainable):可以。
实例:$('#myFormId').ajaxForm();ajaxSubmit马上由AJAX来提交表单。
大多数情况下,都是调用ajaxSubmit来对用户提交表单进行响应。
ajaxSubmit接受0个或1个参数。
这个单个的参数既可以是一个回调函数,也可以是一个Options对象。
可链接(Chainable):可以。
实例:// 绑定表单提交事件处理器$('#myFormId').submit(function() {// 提交表单$(this).ajaxSubmit();// 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回falsereturn false;});formSerialize将表单串行化(或序列化)成一个查询字符串。
这个方法将返回以下格式的字符串:name1=value1&name2=value2。
可链接(Chainable):不能,这个方法返回一个字符串。
实例:var queryString = $('#myFormId').formSerialize();// 现在可以使用$.get、$.post、$.ajax等来提交数据$.post('myscript.php', queryString);fieldSerialize将表单的字段元素串行化(或序列化)成一个查询字符串。
jquery的ajax获取form表单数据、提交表单formjq是对dom进⾏的再次封装。
是⼀个js库,极⼤简化了js使⽤。
jquery库在js⽂件中,包含了所有jquery函数,引⽤:<script src="jquery-1.11.1.min.js"></script>。
这⾥主要介绍jquery获取页⾯form数据使⽤的过程,html页⾯代码如下,有⼀个form表单,id是login_value.填写内容后请求接⼝。
<form id="login_value"><div><label>⽤户名:</label><input id="username" type="text" name="username" placeholder="请输⼊⽤户名" value="admin"></div><div><label>密码:</label><input id="passwd" type="password" name="passwd" placeholder="请输⼊密码" value="123456"></div><div><input type="button" value="登陆" onclick="login()"><input type="reset" value="重置"></div></form>ajax使⽤:ajax只能传⽂本,不能传⽂件。
jQuery插件之jQuery.Form.js⽤法实例分析(附demo⽰例源码)本⽂实例讲述了jQuery插件之jQuery.Form.js⽤法。
分享给⼤家供⼤家参考,具体如下:⼀、jQuery.Form.js 插件的作⽤是实现Ajax提交表单。
⽅法:1.formSerilize() ⽤于序列化表单中的数据,并将其⾃动整理成适合AJAX异步请求的URL地址格式。
2.clearForm() 清除表单中所有输⼊值的内容。
3.restForm 重置表单中所有的字段内容。
即将所有表单中的字段恢复到页⾯加载时的默认值。
疑问:ajaxForm()与ajaxSubmit()的区别:答案:$("#form1").ajaxForm(); 相当于以下两⾏:$("#form1".submit)(function(){$("#form1").ajaxSubmit();return false;})也就是说ajaxFrom()会⾃动阻⽌表单提交。
⽽ajaxSubmit()不会⾃动阻⽌表单提交,想阻⽌表单提交,要⾃⼰return false;技巧1:如果希望表单提交完成后不跳转,那么⼀⾏简单的代码就能够实现,⼏乎与不使⽤表单提交是⼀样的:$("#MailForm").ajaxSubmit(function(message) {alert("表单提交已成功!");});注意:ajaxForm()与ajaxForm()都可以没有参数或者接受1个参数。
该参数既可以是⼀个回调函数,也可以是⼀个options对象。
该对象功能⾮常强⼤,说明如下:var options={url:url, //form提交数据的地址type:type, //form提交的⽅式(method:post/get)target:target, //服务器返回的响应数据显⽰在元素(Id)号确定beforeSubmit:function(), //提交前执⾏的回调函数success:function(), //提交成功后执⾏的回调函数dataType:null, //服务器返回数据类型clearForm:true, //提交成功后是否清空表单中的字段值restForm:true, //提交成功后是否重置表单中的字段值,即恢复到页⾯加载时的状态timeout:6000 //设置请求时间,超过该时间后,⾃动退出请求,单位(毫秒)。
jQueryform插件之formDdata参数校验表单及验证后提交Form Plugin API ⾥提供了很多有⽤的⽅法可以让你轻松的处理表单⾥的数据和表单的提交过程。
测试环境:部署到Tomcat中的web项⽬。
⼀、引⼊依赖js<script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script>⼆、初始化回调函数。
⾸先,我们初始化这个表单,给它⼀个 beforeSubmit 回调函数 - 这是⼀个⽤来校验的函数。
$(document).ready(function() {$('#myForm').ajaxForm({target:'#output1', // ⽤服务器返回的数据更新 id为output1的内容.beforeSubmit: validate // 提交前,验证});});三、校验规则function validate(formData, jqForm, options) {// formdata是数组对象,每个对象拥有名称和值.// 数据如下⾯的格式:// [// { name: username , value: usernameValue },// { name: password , value: passwordValue }// ]for (var i=0; i < formData.length; i++) {if (!formData[i].value) {alert('⽤户名,地址和⾃我介绍都不能为空!');return false;}}var queryString = $.param(formData); //组装数据//alert(queryString); //类似: name=1&add=2return true;}四、详细代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>jQuery form插件的使⽤--⽤ formData 参数校验表单</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function() {$('#myForm').ajaxForm({target: '#output1', // ⽤服务器返回的数据更新 id为output1的内容.beforeSubmit: validate // 提交前,验证});});function validate(formData, jqForm, options) {// formdata是数组对象,每个对象拥有名称和值.// 数据如下⾯的格式:// [// { name: username , value: usernameValue },// { name: password , value: passwordValue }// ]for (var i=0; i < formData.length; i++) {if (!formData[i].value) {alert('⽤户名,地址和⾃我介绍都不能为空!');return false;}}var queryString = $.param(formData); //组装数据//alert(queryString); //类似: name=1&add=2return true;}</script></head><body><h3> Demo 5 :jQuery form插件的使⽤--⽤ formData 参数校验表单,验证后提交(简单验证). </h3><form id="myForm" action="ajax2.jsp" method="post">名称: <input type="text" name="name" id="name" /> <br/>地址: <input type="text" name="address" id="address"/><br/>⾃我介绍: <textarea name="comment" id="comment" ></textarea> <br/><input type="submit" id="test" value="提交" /> <br/><div id="output1" ></div></form></body></html>以上所述是⼩编给⼤家分享的jQuery form插件之formDdata参数校验表单及验证后提交的全部内容,希望对⼤家有所帮助。
jquery动态改变form属性提交表单有些情况下,同⼀个form在不同的情况下提交到不同的处理动作,可以在js中动态改变form的属性,满⾜不同条件的form提交需求。
如:复制代码代码如下:<form id="form" name="form" method="POST" enctype="multipart/form-data" action="action1.jsp" target="iframe"><input type="file" name="file" id="file" class="input_text80"></input><input id="name" name="name"/><input type="button" value="更新到探测点" onClick="javascript:formSubmit();"></input></form><iframe name="iframe"></iframe>现在需要条件1的情况下按上⾯的⽅式提交,以method="POST" enctype="multipart/form-data" action="action1.jsp"target="iframe"提交到action1.jsp进⾏处理;条件2的情况下需要按照普通⽂本⽅式提交到action2.jsp处理,并打开新页⾯。
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用一、jQuery Form的其他api1. formSerialize将表单序列化成查询串。
这个方法将返回一个形如:name1=value1&name2=value2的字符串。
是否可以连环调用: 否, 这个方法返回的是一个字符串。
例子:var queryString = $('#myFormId').formSerialize();// the data could now be submitted using $.get, $.post, $.ajax, etc$.post('myscript.jsp', queryString);2. fieldSerialize将表单里的元素序列化成字符串。
当你只需要将表单的部分元素序列化时可以用到这个方法。
这个方法将返回一个形如:name1=value1&name2=value2的字符串。
是否可以连环调用: 否, 这个方法返回的是一个字符串。
例子:var queryString = $('#myFormId .specialFields').fieldSerialize();3. fieldValue取出所有匹配要求的域的值,以数组形式返回。
从0.91 版本开始, 这个方法始终返回一个数组。
如果没有符合条件的域,这个数组将会是个空数组,否则它将会包含至少一个值。
是否可以连环调用: 否, 这个方法返回的是一个数组。
例子:// get the value of the password inputvar value = $('#myFormId :password').fieldValue();alert('The password is: ' + value[0]);4. resetForm通过调用表单元素的内在的DOM 上的方法把表单重置成最初的状态。
是否可以连环调用: 是例子:$('#myFormId').resetForm();5. clearForm清空表单所有元素的值。
这个方法将会清空所有的文本框,密码框,文本域里的值,去掉下拉列表所有被选中的项,让所有复选框和单选框里被选中的项不再选中。
是否可以连环调用: 否$('#myFormId').clearForm();6. clearFields清空某个表单域的值。
这个可以用在只需要清空表单里部分元素的值的情况。
是否可以连环调用: 否$('#myFormId .specialFields').clearFields();二、测试的详细代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用.</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><!-- 引入依赖的js --><script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function() {$('#test').click(function(){var queryString = $('#myForm').formSerialize();alert(queryString);// 组装的数据可以用于$.get, $.post, $.ajax ...$.post('demo.jsp', queryString ,function(data){$('#output1').html("提交成功!欢迎下次再来!").show(); });return false;})//demo2$('#test2').click(function(){var queryString = $('#myForm2 *').fieldValue();alert(queryString);return false;})//重置表单$('#test3').click(function(){$('#myForm').resetForm();$('#myForm2').resetForm();})//清除表单$('#test4').click(function(){$('#myForm').clearForm();$('#myForm2').clearForm();})});</script></head><body><h3> Demo 3 : jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用. </h3><!-- demo1 --><form id="myForm" action="demo.jsp" method="post">名称:<input type="text" name="name" /> <br/>地址:<input type="text" name="address" /><br/>自我介绍:<textarea name="comment"></textarea> <br/><input type="submit" id="test" value="提交" /> <br/><div id="output1" style="display:none;"></div></form><br/><br/><br/><!-- demo2 --><form id="myForm2" action="demo.jsp" method="post">名称:<input type="text" name="name2" class="special"/> <br/>地址:<input type="text" name="address2" /><br/>自我介绍:<textarea name="comment2" class="special"></textarea> <br/>单选:男<input type="radio" name="a" value="男" checked/>女<input type="radio" name="a" value="女"/><br/><input type="submit" id="test2" value="提交" /> <br/></form><br/><br/><br/><input type="button" id="test3" value="重置所有表单" /> <br/><input type="button" id="test4" value="清除所有表单" /> (提示:发现单选框以前选中的,也被清除了,跟重置有点区别!)<br/></body></html>demo.jsp 代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%request.setCharacterEncoding("UTF-8");//防止乱码!String name = request.getParameter("name");String address = request.getParameter("address");String comment = request.getParameter("comment");System.out.println(name + " " +address + " " +comment);%>三、测试效果:1. formSerialize()测试效果:空的时候:填写英文的时候:填写中文的时候:2. fieldValue()测试效果: 空值的时候:填写英文的时候:填写中文的时候:3. resetForm()的测试效果重置前:重置后:4. clearForm()方法的效果:清除前效果:清除后效果:以上就是本文章的内容,希望对大家有所帮助。