`

jQuery Form插件

 
阅读更多

jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能。另外,插件还包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等。

下载地址: http://malsup.com/jquery/form/#download

核心方法 -- ajaxForm() 和 ajaxSubmit()

$('#myForm').ajaxForm(function() {     
   $('#output1').html("提交成功!欢迎下次再来!").show();      
});    
         
$('#myForm2').submit(function() {  
   $(this).ajaxSubmit(function() {     
      $('#output2').html("提交成功!欢迎下次再来!").show();      
   });  
   return false; //阻止表单默认提交  
}); 

 

通过Form插件的两个核心方法,都可以在不修改表单的HTML代码结构的情况下,轻易地将表单的提交方式升级为Ajax提交方式
ajaxForm() 和 ajaxSubmit() 都能接受0个或1个参数,当为单个参数时,该参数既可以是一个回调函数,也可以是一个options对象,上面的例子就是回调函数,下面介绍options对象,使得它们对表单拥有更多的控制权

 

var options = {  
   target: '#output',          //把服务器返回的内容放入id为output的元素中      
   beforeSubmit: showRequest,  //提交前的回调函数  
   success: showResponse,      //提交后的回调函数  
   //url: url,                 //默认是form的action, 如果申明,则会覆盖  
   //type: type,               //默认是form的method(get or post),如果申明,则会覆盖  
   //dataType: null,           //html(默认), xml, script, json...接受服务端返回的类型  
   //clearForm: true,          //成功提交后,清除所有表单元素的值  
   //resetForm: true,          //成功提交后,重置所有表单元素的值  
   timeout: 3000               //限制请求的时间,当请求大于3秒后,跳出请求  
}  
  
function showRequest(formData, jqForm, options){  
   //formData: 数组对象,提交表单时,Form插件会以Ajax方式自动提交这些数据,格式如:[{name:user,value:val },{name:pwd,value:pwd}]  
   //jqForm:   jQuery对象,封装了表单的元素     
   //options:  options对象  
   var queryString = $.param(formData);   //name=1&address=2  
   var formElement = jqForm[0];              //将jqForm转换为DOM对象  
   var address = formElement.address.value;  //访问jqForm的DOM元素  
   return true;  //只要不返回false,表单都会提交,在这里可以对表单元素进行验证  
};  
  
function showResponse(responseText, statusText){  
   //dataType=xml  
   var name = $('name', responseXML).text();  
   var address = $('address', responseXML).text();  
   $("#xmlout").html(name + "  " + address);  
   //dataType=json  
   $("#jsonout").html(data.name + "  " + data.address);  
};  
  
$("#myForm").ajaxForm(options);  
  
$("#myForm2").submit(funtion(){  
   $(this).ajaxSubmit(options);  
   return false;   //阻止表单默认提交  
}); 

 表单提交之前进行验证:  beforeSubmit会在表单提交前被调用,如果beforeSubmit返回false,则会阻止表单提交

 

 

 

 

beforeSubmit: validate  
function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来阻止表单提交,直到符合规则为止  
   //方式一:利用formData参数  
   for (var i=0; i < formData.length; i++) {  
       if (!formData[i].value) {  
            alert('用户名,地址和自我介绍都不能为空!');  
            return false;  
        }  
    }   
  
   //方式二:利用jqForm对象  
   var form = jqForm[0]; //把表单转化为dom对象  
      if (!form.name.value || !form.address.value) {  
            alert('用户名和地址不能为空,自我介绍可以为空!');  
            return false;  
      }  
  
   //方式三:利用fieldValue()方法,fieldValue 是表单插件的一个方法,它能找出表单中的元素的值,返回一个集合。  
   var usernameValue = $('input[name=name]').fieldValue();  
   var addressValue = $('input[name=address]').fieldValue();  
   if (!usernameValue[0] || !addressValue[0]) {  
      alert('用户名和地址不能为空,自我介绍可以为空!');  
      return false;  
   }  
  
    var queryString = $.param(formData); //组装数据  
    //alert(queryString); //类似 : name=1&add=2    
    return true;  
} 

 

分享到:
评论

相关推荐

    jquery form插件的各个版本

    - 引入jQuery库和jQuery Form插件:首先确保引入jQuery库,然后引入`jquery.form.js`。 - 初始化插件:通过`$('form').ajaxForm(options)`或`$('form').form(options)`来启用插件,并设置相应的配置选项。 - 配置...

    jquery form插件

    jquery的一个form插件,通过很简单的ajaxForm和ajaxSubmit两个函数,就可以自动获取指定表单的所有信息并提交,省略手写jquery的ajax函数的繁琐过程。文件里除了这个插件拥有的一些函数外,还包含函数使用的解释代码...

    jquery form jquery.form.js

    《jQuery Form插件详解及其应用》 jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery...

    Ajax表单提交插件jquery form

    总结来说,jQuery Form插件是提升Web应用表单交互体验的强大工具,它简化了Ajax提交表单的流程,同时提供了丰富的自定义选项和事件处理,使开发者能够轻松处理复杂的表单提交场景。结合后端处理,如`submit.php`,...

    Jquery validate和form插件

    **jQuery validate 和 form 插件详解** 在网页开发中,用户界面的交互性和数据验证是不可或缺的部分。jQuery 是一个广泛使用的 JavaScript 库,它简化了 DOM 操作、事件处理和动画效果。`jQuery validate` 和 `...

    jquery form

    **jQuery Form插件详解** jQuery Form插件是jQuery库中的一个强大工具,它极大地简化了HTML表单的处理,提供了异步提交(AJAX)功能,使得用户在无需页面刷新的情况下就能发送表单数据,提高了用户体验。这个插件...

    jqueryform.js

    "jqueryform.js"是一个非常实用的jQuery插件,它简化了这一过程,提供了对表单的AJAX化支持,包括文件上传和进度显示功能。本文将深入探讨jQuery Form插件的原理、使用方法以及实际应用。 首先,jQuery Form插件的...

    jquery form表单美化插件

    首先,我们要理解jQuery Form插件的核心功能。它提供了一种简单的方法来处理表单提交,支持异步AJAX提交,这意味着用户在提交表单时无需离开当前页面,提高了交互性。此外,该插件还提供了丰富的反馈机制,如进度条...

    Jquery插件,JqueryUI,JqueryForm,JqueryValidate,Jqueryvsdoc

    在这个压缩包中,我们重点探讨的是几个基于 jQuery 的核心插件,它们分别是:jQuery UI、jQuery Form、jQuery Validate 和 jQuery vsdoc。 1. **jQuery UI** jQuery UI 是一个扩展了 jQuery 功能的开源库,提供了...

    jquery&jqueryform;

    **jQuery和jQuery Form插件详解** 在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理、动画以及Ajax交互等任务。jQuery的简洁语法和丰富的插件生态系统使得它成为开发者们的首选...

    struts2+jquery之form插件实现异步上传

    在这个主题中,我们将详细讨论如何利用Struts2和jQuery的form插件来实现这一功能。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发过程,提供了强大的拦截器机制和结果...

    jquery UI&Form 插件下载

    综上所述,jQuery UI和jQuery Form插件是前端开发的强大工具,它们能够轻松创建美观且交互性强的UI和处理复杂的表单逻辑。结合提供的帮助文档,开发者可以快速上手,提升项目质量,为用户提供更优质的Web体验。

    jqueryform

    要使用jQuery Form插件,首先需要在页面中引入jQuery库和jQuery Form插件的脚本文件。然后,选择要操作的表单元素,调用`.ajaxForm()`或`.ajaxSubmit()`方法进行初始化。例如: ```html &lt;script src="https://code....

    jquery表单验证插件

    jQuery Form插件由Malsup开发,是一款非常实用的jQuery扩展,能够极大地简化表单的Ajax提交过程。它不仅提供了一套完整的API来管理表单数据,还支持复杂的表单验证与文件上传等功能。 ##### 2.1 主要特性 - **Ajax...

    使用jQuery.form插件,实现完美的表单异步提交

    jQuery.form插件正是为了满足这种需求而设计的,它扩展了jQuery库,使表单异步提交变得更加简单、灵活且强大。本文将详细介绍如何使用jQuery.form插件,实现完美的表单异步提交。 首先,我们需要了解jQuery.form...

    jquery form ui中文api

    - **文件上传**:对于文件上传的支持是jQuery Form插件的一个亮点,可以在配置选项中设置`url`、`type`等属性。 - **动态表单**:对于动态生成的表单元素,确保在DOM变动后重新绑定事件。 #### 六、参考资料 - **...

    jquery-form.rar

    jQuery Form插件主要特性包括: 1. **Ajax表单提交**:它允许开发者在不刷新整个页面的情况下,异步提交表单数据到服务器。这提高了用户体验,因为用户可以继续与页面其他部分交互,而无需等待页面刷新完成。通过...

    jquery.form.min.js

    《jQuery Form插件详解及其在压缩包中的应用》 在Web开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。而在处理表单(form)相关的操作时,jQuery Form插件是不可...

    JQuery.form表单提交参数详解.txt

    ### JQuery Form 插件中的 `ajaxForm()` 和 `ajaxSubmit()` 方法详解 #### 一、引言 在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应...

Global site tag (gtag.js) - Google Analytics