有些功能需要我们利用Ajax技术进行POST提交表单,这时候就需要用到jquery.Form ,它有两种方式进行提交,AjaxForm和AjaxSubmit方式。
AjaxForm 方式必须先绑定表单,它一般在$(document).ready(function () {}里定义,它能让表单不刷新页面的情况下POST到目标。
如:
$(document).ready(function () {
$("#UpdateForm").ajaxForm(function(){
Alert(“AjaxForm提交完成”)
});
}
AjaxSubmit方式是以相应事件来通过Ajax方式提交表单,比如单击某个按钮触发该表单的提交
如:
$(“#btnTest”).click(function(){
$("#UpdateForm").AjaxSubmit (function(){
Alert(“AjaxForm提交完成”)
});
})
一、参数说明
1)BeforeSubmit
BeforeSubmit参数用来在表单提交到Server之前 验证其数据的合法性,如果提交之前执行的回调函数返回False,表单的提交将会终止。
2)Success
Success参数表单提交完成之后执行
二、API接口说明
1) FormSerialize
将表单序列化成查询串。这个方法将返回一个形如: name1=value1&name2=value2的字符串。
如:
var queryString = $('# myFormId).formSerialize();
等效于var queryString = $.param(formData)方法
这两个方法返回的值是相同的
注意:formSerialize()与serialize()的区别。
2) fieldSerialize
将表单里的元素序列化成字符串。当你只需要将表单的部分元素序列化时可以用到这个方法。 这个方法将返回一个形如: name1=value1&name2=value2的字符串。
var queryString = $('#myFormId .specialFields').fieldSerialize();
specialFields是该元素的Class值
3) fieldValue
取出所有匹配要求的域的值,以数组形式返回。 从 0.91 版本开始, 这个方法 始终 返回一个数组。 如果没有符合条件的域,这个数组将会是个空数组,否则它将会包含至少一个值。
var value = $('# myFormId':password').fieldValue();
alert('The password is: ' + value[0]);
4) resetForm
通过调用表单元素的内在的DOM 上的方法把表单重置成最初的状态。
$('#myFormId').resetForm();
5) clearForm
清空表单所有元素的值。这个方法将会清空所有的文本框,密码框,文本域里的值,去掉下拉列表所有被选中的项,让所有复选框和单选框里被选中的项不再选中。
$('#myFormId').clearForm();
6) clearFields
清空某个表单域的值。这个可以用在只需要清空表单里部分元素的值的情况。
$('#myFormId .specialFields').clearFields();
specialFields是该元素的Class值
三、Server端返回格式处理
1)Json格式
在设置返回Json格式时,要设置Option中DataType格式如下
dataType: 'json',
JS验证成功到Server端代码:
if (ModelState.IsValid)
{
return Json(new { a = "a", b = "b" });
}
Form提交完成之后success方法将被执行,responseText 和 responseXML 的值会被传进这个参数 (这个要依赖于dataType的类型)
success: function (responseText, statusText, xhr, $form) {
alert(responseText.a);
}
2)XML格式
在设置返回XML格式时,要设置Option中DataType格式如下
dataType: 'xml',
JS验证成功到Server端代码:
//返回一个XML类型
string xmlString = "<?xml version=\"1.0\" encoding=\"gb2312\" ?><tree id=\"0\"><item text=\"北京欢迎你\"/></tree>";
return this.Content(xmlString, "text/xml");
Form提交完成之后success方法将被执行
success: function (responseText, statusText, xhr, $form) {
alert(xhr.responseText)
}
3)HTML格式
在设置返回HTML格式时,要设置Option中DataType格式如下
dataType: ‘HTML’,
JS验证成功到Server端代码:
string htmlString = "<div style=\"background:red\">Test<div>";
return Content(htmlString);
Form提交完成之后success方法将被执行
success: function (responseText, statusText, xhr, $form) {
alert(responseText)
}
jquery.validate 使用
一、使用Jquery.Validate进行验证方法
$(document).ready(function () {
$("#pageForm").validate({
rules: {
DictKey: { required: true, maxlength: 10 },
DictContent: { required: true, maxlength: 10 }
},
messages: {
DictKey: { required: "不能为空", maxlength: jQuery.format("不能超过{0}个字符") },
DictContent: { required: "不能为空", maxlength: jQuery.format("不能超过{0}个字符") }
},
submitHandler: function (form) {
form.submit();
}
})
})
DictKey ,DictContent:指需要验证的控件ID
submitHandler :指通过验证后运行的函数,里面写入表单要提交的函数,否则表单不会提交
二、列出常用默认验证规则
(1)required:true 必输字段
(2)email:true 必须输入正确格式的电子邮件
(3)url:true 必须输入正确格式的网址
(4)date:true 必须输入正确格式的日期
(5)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(6)number:true 必须输入合法的数字(负数,小数)
(7)digits:true 必须输入整数
(8)creditcard: 必须输入合法的信用卡号
(9)equalTo:"#field" 输入值必须和#field相同
(10)accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
(11)maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
(12)minlength:10 输入长度最小是10的字符串(汉字算一个字符)
(13)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(14) equalLength:10 输入长度必须是10
(14)range:[5,10] 输入值必须介于 5 和 10 之间
(15)max:5 输入值不能大于5
(16)min:10 输入值不能小于10
三、使用ajax方法验证输入值是否存在
当文本框输入值时,或改变输入值时会自动到Server去验证输入值是否在数据库中存在
JS代码如下:
DictKey: { required: true, maxlength: 10,
remote: { //验证用户名是否存在
type: "POST",
url: '@Url.Content("~/Account/Test/")' //servlet
}
},
DictKey: { required: "不能为空", maxlength: jQuery.format("不能超过{0}个字符"),remote:"用户名已被注册"},
Server端:
[HttpPost]
public JsonResult Test(string DictKey) //DictKey即要验证控件的ID值
{
bool result;
if (DictKey == "a")
{
result = true;
}
else
{
result = false;
}
return Json(result);
}
根据Server端返回的True,False来决定验证是否通过
四、非submit按钮结合Jquery.Form进行提交
如果不是submit提交按钮,比如单击某个按钮触发表单验证,这时表单验证可用如下方式
function validateForm() {
//validate方法参数可选
return $("#form1").validate({
rules: {
},
messages:{
}
}).form();
}
function doSubmit(){
//do other things
//验证通过后提交
if(validateForm()){
form.submit()
//这边可以结合Jquery.Form进行AjaxSubmit方式异步提交
$("#UpdateForm").AjaxSubmit (function(){
Alert(“AjaxForm提交完成”)
});
}
}
相关推荐
jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....
2. **实时验证**:jQuery Form Plugin可以与各种验证插件结合,如`validate.js`,实现实时的表单验证。在用户输入时立即检查数据的有效性,及时给出错误提示,避免无效数据的提交。 3. **多文件上传支持**:jQuery ...
2. validate.js或validate.min.js:这是jQuery Validate插件的主要文件,提供了验证功能。 3. form.js或form.min.js:这是jQuery Form插件的文件,用于实现Ajax表单提交。 4. 可能还会有其他资源文件,如CSS样式表...
在Web开发中,jQuery库以其简洁的API和强大的功能深受开发者喜爱,而`jquery.form.js`则是jQuery的一个重要插件,它扩展了jQuery对表单处理的功能,使得表单的提交、异步上传、验证等操作变得更加简单易行。...
总结,jQuery.validate.js凭借其便捷的使用方式、强大的验证功能和灵活的扩展性,成为前端开发中的必备工具。通过深入理解和熟练运用,开发者能更好地控制表单验证流程,提高网站的质量和用户体验。无论是在个人项目...
<script src="jquery.validate.min.js"> <form id="myForm"> <button type="submit">Submit </form> $(document).ready(function(){ $("#myForm").validate(); }); ``` 上述代码中,`required`是内置的...
在3.51.0版本中,jQuery Form Plugin进一步优化了性能和兼容性,确保在不同浏览器环境下稳定运行。同时,这个版本可能包含了错误修复、性能提升和新功能的添加,以适应不断发展的Web开发环境。 使用jQuery Form ...
《jQuery.validate.js与API中文详解》 在Web开发领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作,事件处理以及Ajax交互等任务。而jQuery Validate插件则是jQuery的一个重要扩展,它专注于表单...
本文将深入探讨jQuery.validate.js的核心功能、API使用方法以及一些常见的使用场景。 首先,jQuery.validate.js是由Jörn Zaefferer创建的一个轻量级插件,它是jQuery Form Plugin的一部分,主要用于简化HTML表单的...
在项目中使用jQuery.validate,首先需要引入jQuery库,然后引入jQuery.validate.js文件。例如: ```html <script src="path/to/jquery.js"> <script src="path/to/jquery.validate.js"> ``` 如果需要中文API文档,...
在`jqueryvalidate验证demo`中,包含了多个实例,演示了基本验证、自定义规则、验证组等常见功能的应用。通过查看和运行这些示例,可以更深入地理解和掌握jQuery Validate的使用。 总结,jQuery Validate插件以其...
`jQuery validate` 和 `jQuery form` 结合使用,可以在验证表单数据无误后,无缝地进行 AJAX 提交。首先,使用 `jQuery validate` 配置表单验证规则,然后在验证通过后,利用 `jQuery form` 的 `submitHandler` 回调...
1.0.1.js(已修改)、jquery.jqzoom.js、jquery.thickbox.js、jquery.jqzoom.js、jquery.lazyload.js、jquery.soChange.js、jquery.uploadify.min.js、jquery.validate.js、jquery.form.js、jquery.weekcalendar.js...
在项目中引入jQuery Validate 1.8.1,首先需要加载jQuery库,然后引入`jquery.validate.1.8.1.js`文件。接下来,我们可以对表单元素进行如下配置: ```html <form id="myForm"> <!-- 其他表单元素 --> 提交 ...
1. 引入资源:首先,你需要在页面中引入jQuery库和jQuery Validate插件的JS文件,例如`jquery.js`和`jquery.validate.min.js`。 2. 初始化验证:使用`.validate()`方法对表单进行初始化,如`$("#myForm").validate()...
`jquery.validate.js`的核心功能是通过添加自定义的CSS类和错误消息,来实时检查用户输入的数据是否符合预设的验证规则。它支持多种验证类型,如非空、邮箱、数字、URL等,并且可以方便地进行自定义扩展。 ### 2. ...
本文将深入探讨jQuery Form插件(即`jquery.form.js`)及其核心库`jquery.js`,并结合实际应用,阐述它们的功能与使用方法。 首先,`jquery.js`是jQuery的核心库,它的主要功能包括: 1. **DOM操作**:jQuery提供...
要在项目中使用 `jQuery.validate.js`,首先需要引入 jQuery 库,然后引入 validate 插件,如下所示: ```html <script src="../js/jquery.js" type="text/javascript"> <script src="../js/jquery.validate.js" ...
jQuery Validate插件是实现表单验证功能的一个强大工具,它提供了丰富的验证规则和自定义选项。然而,默认情况下,jQuery Validate插示错误提示的位置可能并不符合所有项目的需求。本文将详细介绍如何修改jQuery ...