首先,创建一个表单,如下:
<
form
id
=
"myForm"
action
=
"form.jsp"
method
=
"post"
>
Name
:
<
input
type
=
"text"
name
=
"name"
/
>
<
/
form
>
然后,加入JQuery及其form插件的支持,如下:
<
head>
<
script
type
=
"text/javascript"
src
=
"path/to/jquery.js"
>
<
/
script
>
<
script
type
=
"text/javascript"
src
=
"path/to/form.js"
>
<
/
script
>
<
script
type
=
"text/javascript"
>
$(
document
)
.
ready(
function
(
)
{
$(
'#myForm'
)
.
ajaxForm(
function
(
)
{
alert
(
"提交成功!"
)
;
}
)
;
}
)
;
<
/
script
>
<
/
head>
表单插件API
英文原文:http://www.malsup.com/jquery/form/#api
表单插件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();
// 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false
return false;
});
formSerialize
将表单串行化(或序列化)成一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。
可链接(Chainable):不能, 这个方法返回一个字符串。
实例:
var queryString = $('#myFormId').formSerialize();
// 现在可以使用$.get、$.post、$.ajax等来提交数据
$.post('myscript.php', queryString);
fieldSerialize
将表单的字段元素串行化(或序列化)成一个查询字符串。当只有部分表单字段需要进行串行化(或序列化)时,这个就方便了。这个方法将返回以下格式的字符串:name1=value1&name2=value2。
可链接(Chainable):不能,这个方法返回一个字符串。
实例:
var queryString = $('#myFormId .specialFields').fieldSerialize();
fieldValue
返回匹配插入数组中的表单元素值。从0.91版起,该方法将总是以数组的形式返回数据。如果元素值被判定可能无效,则数组为空,否则它将包含一个或多于一个的元素值。
可链接(Chainable):不能,该方法返回数组。
实例:
// 取得密码输入值
var value = $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);
resetForm
通过调用表单元素原有的DOM方法,将表单恢复到初始状态。
可链接(Chainable):可以。
实例:
$('#myFormId').resetForm();
clearForm
清除表单元素。该方法将所有的文本(text)输入字段、密码(password)输入字段和文本区域(textarea)字段置空,清除任何select元素中的选定,以及将所有的单选(radio)按钮和多选(checkbox)按钮重置为非选定状态。
可链接(Chainable):可以。
$('#myFormId').clearForm();
clearFields
清除字段元素。只有部分表单元素需要清除时才方便使用。
可链接(Chainable):可以。
$('#myFormId .specialFields').clearFields();
Options对象
ajaxForm和ajaxSubmit都支持众多的选项参数,这些选项参数可以使用一个Options对象来提供。Options只是一个JavaScript对象,它包含了如下一些属性与值的集合:
target
指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。
默认值:null。
url
指定提交表单数据的URL。
默认值:表单的action属性值
type
指定提交表单数据的方法(method):“GET”或“POST”。
默认值:表单的method属性值(如果没有找到默认为“GET”)。
beforeSubmit
表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果“beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。表单数组接受以下方式的数据:
[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
默认值:null
success
表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。
默认值:null
dataType
期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持:
'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。
'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。
'script':如果dataType == 'script', 服务器响应将求值成纯文本。
默认值:null(服务器返回responseText值)
semantic
Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image".
布尔标志,表示数据是否必须严格按照语义顺序(slower?)来进行提交。注意:一般来说,表单已经按照语义顺序来进行了串行化(或序列化),除了type="image"的input元素。如果你的服务器有严格的语义要求,以及表单中包含有一个type="image"的input元素,就应该将semantic设置为true。(译注:这一段由于无法理解,翻译出来可能语不达意,但请达人指正。)
默认值:false
resetForm
布尔标志,表示如果表单提交成功是否进行重置。
Default value: null
clearForm
布尔标志,表示如果表单提交成功是否清除表单数据。
默认值:null
实例1:
// 准备好Options对象
var options = {
target: '#divToUpdate',
url: 'comment.php',
success: function() {
alert('Thanks for your use form plugin!');
} };
// 将options传给ajaxForm
$('#myForm').ajaxForm(options);
实例2:
<script type="text/javascript">
$(document).ready(function(){
var options = {
//target: '#output1', // target element(s) to be updated with server response
url: 'comment.jsp',
beforeSubmit: function(){
var name = $("#sname");
alert(name);
if(name == '' || name.length<1){
return false;
}
}, // pre-submit callback
success: function(result){
alert(result);
$("#output1").html(result);
} // post-submit callback
// other available options:
//type: type // 'get' or 'post', override for form's 'method' attribute
//dataType: null // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // clear all form fields after successful submit
//resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout: 3000
};
$('#myForm').ajaxForm(options);
});
</script>
注意:Options对象还可以用来将值传递给jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它们来将Options对象传递给ajaxForm和ajaxSubmit。
分享到:
相关推荐
- 引入jQuery库和jQuery Form插件:首先确保引入jQuery库,然后引入`jquery.form.js`。 - 初始化插件:通过`$('form').ajaxForm(options)`或`$('form').form(options)`来启用插件,并设置相应的配置选项。 - 配置...
jquery的一个form插件,通过很简单的ajaxForm和ajaxSubmit两个函数,就可以自动获取指定表单的所有信息并提交,省略手写jquery的ajax函数的繁琐过程。文件里除了这个插件拥有的一些函数外,还包含函数使用的解释代码...
《jQuery Form插件详解及其应用》 jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery...
总结来说,jQuery Form插件是提升Web应用表单交互体验的强大工具,它简化了Ajax提交表单的流程,同时提供了丰富的自定义选项和事件处理,使开发者能够轻松处理复杂的表单提交场景。结合后端处理,如`submit.php`,...
**jQuery validate 和 form 插件详解** 在网页开发中,用户界面的交互性和数据验证是不可或缺的部分。jQuery 是一个广泛使用的 JavaScript 库,它简化了 DOM 操作、事件处理和动画效果。`jQuery validate` 和 `...
**jQuery Form插件详解** jQuery Form插件是jQuery库中的一个强大工具,它极大地简化了HTML表单的处理,提供了异步提交(AJAX)功能,使得用户在无需页面刷新的情况下就能发送表单数据,提高了用户体验。这个插件...
"jqueryform.js"是一个非常实用的jQuery插件,它简化了这一过程,提供了对表单的AJAX化支持,包括文件上传和进度显示功能。本文将深入探讨jQuery Form插件的原理、使用方法以及实际应用。 首先,jQuery Form插件的...
首先,我们要理解jQuery Form插件的核心功能。它提供了一种简单的方法来处理表单提交,支持异步AJAX提交,这意味着用户在提交表单时无需离开当前页面,提高了交互性。此外,该插件还提供了丰富的反馈机制,如进度条...
在这个压缩包中,我们重点探讨的是几个基于 jQuery 的核心插件,它们分别是:jQuery UI、jQuery Form、jQuery Validate 和 jQuery vsdoc。 1. **jQuery UI** jQuery UI 是一个扩展了 jQuery 功能的开源库,提供了...
**jQuery和jQuery Form插件详解** 在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理、动画以及Ajax交互等任务。jQuery的简洁语法和丰富的插件生态系统使得它成为开发者们的首选...
在这个主题中,我们将详细讨论如何利用Struts2和jQuery的form插件来实现这一功能。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发过程,提供了强大的拦截器机制和结果...
综上所述,jQuery UI和jQuery Form插件是前端开发的强大工具,它们能够轻松创建美观且交互性强的UI和处理复杂的表单逻辑。结合提供的帮助文档,开发者可以快速上手,提升项目质量,为用户提供更优质的Web体验。
要使用jQuery Form插件,首先需要在页面中引入jQuery库和jQuery Form插件的脚本文件。然后,选择要操作的表单元素,调用`.ajaxForm()`或`.ajaxSubmit()`方法进行初始化。例如: ```html <script src="https://code....
jQuery Form插件由Malsup开发,是一款非常实用的jQuery扩展,能够极大地简化表单的Ajax提交过程。它不仅提供了一套完整的API来管理表单数据,还支持复杂的表单验证与文件上传等功能。 ##### 2.1 主要特性 - **Ajax...
jQuery.form插件正是为了满足这种需求而设计的,它扩展了jQuery库,使表单异步提交变得更加简单、灵活且强大。本文将详细介绍如何使用jQuery.form插件,实现完美的表单异步提交。 首先,我们需要了解jQuery.form...
- **文件上传**:对于文件上传的支持是jQuery Form插件的一个亮点,可以在配置选项中设置`url`、`type`等属性。 - **动态表单**:对于动态生成的表单元素,确保在DOM变动后重新绑定事件。 #### 六、参考资料 - **...
jQuery Form插件主要特性包括: 1. **Ajax表单提交**:它允许开发者在不刷新整个页面的情况下,异步提交表单数据到服务器。这提高了用户体验,因为用户可以继续与页面其他部分交互,而无需等待页面刷新完成。通过...
《jQuery Form插件详解及其在压缩包中的应用》 在Web开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。而在处理表单(form)相关的操作时,jQuery Form插件是不可...
### JQuery Form 插件中的 `ajaxForm()` 和 `ajaxSubmit()` 方法详解 #### 一、引言 在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应...