jquery form插件(二)

 

jquery form插件(二)

分类: JQUERY javascript   444人阅读   评论(0)   收藏   举报

ajaxForm 和 ajaxSubmit 都支持大量的可选参数,它们通过可选参数项对象传入。可选参数项对象只是一个简单的 JavaScript对象,里边包含了一些属性和一些值:

target 用server端返回的内容更换指定的页面元素的内容。 这个值可以用jQuery 选择器来表示, 或者是一个jQuery 对象, 一个 DOM 元素。 缺省值:   null

url 表单提交的地址。 缺省值: 表单的 action的值
type 表单提交的方式,'GET' 或 'POST'. 缺省值: 表单的   method  的值 (如果没有指明则认为是 'GET')
beforeSubmit 表单提交前执行的方法。这个可以用在表单提交前的预处理,或表单校验。如果'beforeSubmit'指定的函数返回false,则表单不会被提交。 'beforeSubmit'函数调用时需要3个参数:数组形式的表单数据,jQuery 对象形式的表单对象,可选的用来传递给ajaxForm/ajaxSubmit 的对象。 数组形式的表单数据是下面这样的格式:
[html]   view plain copy
  1. [{name:uname,value:test},{name:upassword,value:password}]  
[html]   view plain copy
  1. <span style="background-color: rgb(255, 255, 255);">缺省值: <code class="inline">null</code></span>  

success 当表单提交后执行的函数。 如果'success' 回调函数被指定,当server端返回对表单提交的响应后,这个方法就会被执行。 responseText 和 responseXML 的值会被传进这个参数 (这个要依赖于dataType的类型). 缺省值:   null
dataType 指定服务器响应返回的数据类型。其中之一: null, 'xml', 'script', 或者 'json'. 这个   dataType  选项用来指示你如何去处理server端返回的数据。 这个和   jQuery.httpData  方法直接相对应。 下面就是可以用的选项: 'xml': 如果 dataType == 'xml' 则 server 端返回的数据被当作是 XML 来处理, 这种情况下'success'指定的回调函数会被传进去 responseXML 数据 'json': 如果 dataType == 'json' 则server端返回的数据将会被执行,并传进'success'回调函数 'script': 如果 dataType == 'script' 则server端返回的数据将会在上下文的环境中被执行 缺省值:   null
semantic 一个布尔值,用来指示表单里提交的数据的顺序是否需要严格按照语义的顺序。一般表单的数据都是按语义顺序序列化的,除非表单里有一个 type="image"元素. 所以只有当表单里必须要求有严格顺序 并且表单里有 type="image"时才需要指定这个。 缺省值:   false
resetForm 布尔值,指示表单提交成功后是否需要重置。 缺省值:   null
clearForm 布尔值,指示表单提交成功后是否需要清空。 缺省值:   null
iframe 布尔值,用来指示表单是否需要提交到一个iframe里。 这个用在表单里有file域要上传文件时。更多信息请参考   代码示例  页面里的 File Uploads  文档。 缺省值:   false
[html]   view plain copy
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js"></script>  
  2. <script type="text/javascript" src="http://malsup.github.com/jquery.form.js"></script>  
  3. <script type="text/javascript">  
  4. $(document).ready(function(){  
  5.     var options = {  
  6.         //target: '#output1', // target element to update  
  7.         dataType :'json',  
  8.         beforeSubmit: showRequest, // pre-submit callback  
  9.         success: showResponse // post-submit callback  
  10.     };  
  11.     $("#basicForm").ajaxForm(options);  
  12. });  
  13. function showRequest(formData,jqForm,options){  
  14.     var queryString = $.param(formData);  
  15.     alert('About to submit: \n\n' + queryString);   
  16.     return true;  
  17. }  
  18. function showResponse(responseText, statusText, xhr, form){  
  19.     alert('status: ' + statusText + '\n\nresponseText: \n' + responseText.message +   
  20.     '\n\nThe output div should have already been updated with the responseText.');  
  21. }  
  22.   
  23. </script>  
  24. </head>  
  25. <body>  
  26. <b>基本表单测试</b>  
  27. <hr/>  
  28. <form action="upload.php" id="basicForm" method="post">  
  29. 名称:<input type="text" name="username"/><br/>  
  30. 密码:<input type="password" name="password"/><br/>  
  31. <input type="text" name="message" ><br/>  
  32. 喜欢颜色:<br/>  
  33. <select multiple="multiple" size="5" name="color[]" style="width:100px;">  
  34. <option value="red">红色</option>  
  35. <option value="black">黑色</option>  
  36. <option value="yellow">黄色</option>  
  37. <option value="green">绿色</option>  
  38. <option value="blue">绿色</option>  
  39. <option value="purple">紫色</option>  
  40. </select><br/>  
  41. 性别:<input type="radio" name="sex" value="1"/><input type="radio" name="sex" value="2"/><br/>  
  42. 爱好:<input type="checkbox" name="love" value="lanqiu"/>篮球<input type="checkbox" name="love" value="zuqiu"/>足球<input type="checkbox" name="love" value="kandianying"/>看电影<br/>  
  43. 简介:<textarea rows="5" cols="30" name="intro"></textarea><br/>  
  44. <input type="submit" value="提交" >  
  45. </form>  
  46. <div id="output1" style="display: none;">AJAX response will replace this content.</div>  
  47. </body>  

upload.php
[html]   view plain copy
  1. echo json_encode(array('message'=>$_REQUEST['message']));  

下面代码为验证表单:
[html]   view plain copy
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js"></script>  
  2. <script type="text/javascript" src="http://malsup.github.com/jquery.form.js"></script>  
  3. <script type="text/javascript" src="../js/jquery.validate.js"></script>  
  4. <script type="text/javascript" src="../js/jquery.metadata.js" ></script>  
  5. <script type="text/javascript">  
  6. $(document).ready(function(){  
  7.     $("#validationForm").validate();  
  8.     $("#validationForm").ajaxForm({  
  9.         beforeSubmit:validate  
  10.     });  
  11. });  
  12. function validate(formData,jqForm,options){  
  13.     //formData is an array of objects representing the name and value of each field   
  14.     //[{name:uname,value:test},{name:upassword,value:password}]  
  15.     /*for( var i=0;i<formData.length;i++ ){  
  16.         if( !formData[i].value ){  
  17.             alert(formData[i].name+"不能为空~");  
  18.             return false;  
  19.         }  
  20.     }*/  
  21.     var form=jqForm[0];  
  22.     if( form.uresetpassword.value != form.upassword.value ){  
  23.         alert("密码和重置密码必须一致");  
  24.         return false;  
  25.     }  
  26. }  
  27. </script>  
  28. </head>  
  29. <body>  
  30. <b>验证表单</b>  
  31. <form action="validation.php" id="validationForm" method="post">  
  32. UserName:<input type="text" name="uname" class="{required:true,minlength:2,maxlength:6,messages:{required:'必须填写',minlength:'最小长度为2',maxlength:'最大长度必须小于20'}}"/><br/>  
  33. Password:<input type="password" name="upassword" class="{required:true,messages:{required:'必须填写'}}"/><br/>  
  34. resetPassword:<input type="password" name="uresetpassword" class="{required:true,messages:{required:'必须填写'}}" /><br/>  
  35. email:<input type="text" class="{required:true, email:true, messages:{required:'必须填写邮箱地址', email:'请填写正确的游戏地址'}}"><br/>  
  36. <input type="submit"  value="提交">  
  37. </form>  
  38. </body> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值