源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Jquery.Form 异步提交表单的简单实例

  • 时间:2022-10-11 13:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Jquery.Form 异步提交表单的简单实例
[url=http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#]http://www.vaikan.com/docs/jquery.form.plugin/jquery.form.plugin.html#[/url] 1. 在你的页面里写一个表单。一个普通的表单,不需要任何特殊的标记:
[u]复制代码[/u] 代码如下:
<form id="myForm" method="post" action="/Home/AjaxForm"> <div> Name:<input id="username" name="username" type="text" />   Password:<input id="password" name="password" type="text" /> <br /> <input type="submit" value="submit async" id="lnkSubmit" /> </div> </form>
[b]在没有Jquery.Form组件的时候,提交表单,页面会进入阻塞模式,等待服务器端的响应。[/b] 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. 加入能够与服务器端进行交互的回调函数。
[u]复制代码[/u] 代码如下:
$(document).ready(function () {      //options是一个ajaxForm的配置对象。?      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); });   // responseText是服务端的响应值。statusText是页面  // 提交状态值,success表示成功。 function callBackFunc(responseText, statusText) {     if (statusText == 'success') {         alert(responseText);     }  else{  alert(“服务端错误!”);       } } 如果返回的是json数据则回调函数可以这么写 function resultFunction(responseText,statusText) {         if (statusText == 'success') {             if (responseText.code == 1) {                 alert(responseText.message);             }              else {                 alert('error occurs!');             }         }         else {             alert('服务器错误!');         }     }
服务端的代码如下:
[u]复制代码[/u] 代码如下:
[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属性
[u]复制代码[/u] 代码如下:
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              };  // 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;            }        }
验证用户名是否为空,是则提示输入,并取消表单提交。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部