http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started

Jquery.Form 异步提交表单实例

http://www.aqee.net/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started

1. 在你的页面里写一个表单。一个普通的表单,不需要任何特殊的标记:

<form id="myForm" method="post" action="/Home/AjaxForm">
<div>
Name:<input id="username" name="username" type="text" /> &nbsp;
Password:<input id="password" name="password" type="text" />
<br />
<input type="submit" value="submit async" id="lnkSubmit" />
</div>
</form>

在没有Jquery.Form组件的时候,提交表单,页面会进入阻塞模式,等待服务器端的响应。

2. 引入jQuery和Form Plugin Javascript脚本文件并且添加几句简单的代码让页面在DOM加载完成后初始化表单:

<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">         // wait for the DOM to be loaded         $(document).ready(function() {             // bind ‘myForm‘ and provide a simple callback function 
            // 为myform绑定ajaxForm异步提交事件,并提供一个简单的回调函数。            $(‘#myForm‘).ajaxForm(function() {                 alert("Thank you for your comment!");             });         });     </script> </head>
 
加上jquery.form组件后,提交表单时,页面不会再同步提交,而是由js做异步提交,因此提交后页面不会有刷新。
 
3. 加入能够与服务器端进行交互的回调函数。

1

$(document).ready(function () {

                  //options是一个ajaxForm的配置对象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

    var options = {

        //target: ‘#output1‘,   // target element(s) to be updated with server response

        //beforeSubmit: showRequest,  // pre-submit callback

       <font color="#ff0000"> success: callBackFunc  // post-submit callback</font>

        // other available options:

        //url:       url         // override for form‘s ‘action‘ attribute

        //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

    };

    // bind form using ‘ajaxForm‘

    $(‘#myForm‘).ajaxForm(options);

});


1

// responseText是服务端的响应值。statusText是页面


1

2

3

4

5

// 提交状态值,success表示成功。

function callBackFunc(responseText, statusText) {

    if (statusText == ‘success‘) {

        alert(responseText);

    }


1

else{


1

alert(“服务端错误!”);


1

2

     }

}


1

如果返回的是json数据则回调函数可以这么写


1

2

3

4

5

6

7

8

9

10

11

12

13

function resultFunction(responseText,statusText) {

        if (statusText == ‘success‘) {

            if (responseText.code == 1) {

                alert(responseText.message);

            }

            else {

                alert(‘error occurs!‘);

            }

        }

        else {

            alert(‘服务器错误!‘);

        }

    }

服务端的代码如下


1

2

3

4

5

6

7

[HttpPost]

public ActionResult AjaxForm(FormCollection form)

{

    string message = "Name:" + form["username"] + " PWD: "+form["password"]  ;

    //return Content(message);

    return Json(new { code = 1, message = message });

}

 
4. 加入提交前的数据校验函数
 
为options对象添加 beforeSubmit属性

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

var options = {

                //target: ‘#output1‘,   // target element(s) to be updated with server response

                <font color="#ff0000">beforeSubmit: checkData,  // pre-submit callback

</font>                success: callBackFunc  // post-submit callback

                // other available options:

                //url:       url         // override for form‘s ‘action‘ attribute

                //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

            };


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

// pre-submit callback

       function checkData(formData, jqForm, options) {

           // formData is an array; here we use $.param to convert it to a string to display it

           // but the form plugin does this for you automatically when it submits the data

           //var queryString = $.param(formData);

           // jqForm is a jQuery object encapsulating the form element.  To access the

           // DOM element for the form do this:

           var formElement = jqForm[0];

           //alert(‘About to submit: \n\n‘ + queryString);

           // here we could return false to prevent the form from being submitted;

           // returning anything other than false will allow the form submit to continue

           //return true;

           if ($(formElement).find("#username").val() == "") {

               alert("please enter username!");

               return false;

           } else {

               return true;

           }

       }

验证用户名是否为空,是则提示输入,并取消表单提交。
时间: 2024-08-01 21:33:00

http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started的相关文章

[译] EXTENDING JQUERY – 2.2 A simple plugin

2.2 一个简单的插件示例 jQuery 插件能做任何事情,这个已经由浩如烟海的各类第三方插件如证明.小到只影响一个元素,大到改变多个元素的外观和行为,jQuery 的各种功能等你来扩展. 2.2.1 占位文本插件 为了维持一个form 的空间,很多时候一个字段的描述往往是省略的,取而代之的是用一个占位文本.如果这个字段是空的,占位文本将会重新显示.为了更好的用户体验,这个占位文本往往是灰色的,用来区别真正的内容.这个功能有个比较通用的名字叫做水印(watermark). 占位的文本可以在插件初

jQuery 表单插件 -- Form

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

2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(function () { var UserId = $('#UserId').val(); if (UserId == "") { $.ajax({ type: "POST", url: '/Users/Create/', data: $("#SaveUserFo

jQuery的ajax的form提交方法应用

1.如果不用ajax的form提交,就必须把表单的每一条数据进行获取,并提交给action进行处理.这样做比较麻烦,现在用了jQuery的easyui,使用封装好的ajax的form提交.脚本代码如下: //提交表单 function sysusersave(){ if($.formValidator.pageIsValid()){//校验表单输入信息是否合法 //使用jquery的ajax from提交,指定from的id和回调方法,提交的url使用提from中的action,参数为空,传递J

jQuery.Validate.js在Form标签很多的时候验证速度慢的处理。

最近在项目中有遇到一个Form表单中有200多个标签.在提交表单时网页会出现等待时间很长,甚至会出现网页奔溃的情况. 主要的原因是因为在使用jQuery.Validate.js进行Form验证的时候会花销大量时间.这些时间主要用在两个地方: 1.表单中标签的检查对应jQuery.Validate.js中checkForm()方法. 2.检查完标签后需要显示错误或成功信息对应jQuery.Validate.js中ShowErrors()方法. 先前我们是用的jQuery.Validate.js-1

Web Form要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。

缩进相同的一组语句构成一个代码块,称之为代码组:代码组首行以关键字开始,以冒号":"结束,该行之后的一行或多行构成代码组! 模块结构和布局:这里有一个__doc__文档属性,可以访问模块,或者函数的说明文档 1.起始行 2.模块文档 3.模块导入 4.变量定义 5.类定义 6.函数定义 7.主程序 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #/usr/bin/env python    #1.Startup line &q

第七章(插件的使用和写法)(7.2 jQuery 表单插件 ----- Form)

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

5个最顶级jQuery图表类库插件-Charting plugin

转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li - GBin1.com英文: 5 Top jQuery Chart Libraries for Interactive Charts 目前对于简单快速的开发图的需要使得大家需要找到一种相对简单的方式来开发互动的图表.jQuery和其他js类库使得我们可以更容易的在(X)HTML中访问数据的呈现.

Jquery.Form和jquery.validate 的使用

有些功能需要我们利用Ajax技术进行POST提交表单,这时候就需要用到jquery.Form ,它有两种方式进行提交,AjaxForm和AjaxSubmit方式.            AjaxForm 方式必须先绑定表单,它一般在$(document).ready(function () {}里定义,它能让表单不刷新页面的情况下POST到目标. 如:                     $(document).ready(function () {                   $(