jQuery实现form表单基于ajax无刷新提交方法详解


Posted in Javascript onDecember 08, 2015

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法。分享给大家供大家参考,具体如下:

首先,新建Login.html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>$.ajax()方法发送请求</title>
 <script type="text/javascript" src="js/jquery-1.4.1.js"></script>
 <style type="text/css">
  body
  {
   font-size: 13px;
  }
  .divFrame
  {
   width: 225px;
   border: solid 1px #666;
  }
  .divFrame .divTitle
  {
   padding: 5px;
   background-color: #eee;
   height: 23px;
  }
  .divFrame .divTitle span
  {
   float: left;
   padding: 2px;
   padding-top: 5px;
  }
  .divFrame .divContent
  {
   padding: 8px;
   text-align: center;
  }
  .divFrame .divContent .clsShow
  {
   font-size: 14px;
   line-height: 2.0em;
  }
  .divFrame .divContent .clsShow .clsError
  {
   font-size: 13px;
   border: solid 1px #cc3300;
   padding: 2px;
   display: none;
   margin-bottom: 5px;
   background-color: #ffe0a3;
  }
  .txt
  {
   border: #666 1px solid;
   padding: 2px;
   width: 150px;
   margin-right: 3px;
  }
  .btn
  {
   border: #666 1px solid;
   padding: 2px;
   width: 50px;
  }
 </style>
 <script type="text/javascript">
  $(function () {
   $("#txtName").focus();//输入焦点
   $("#txtName").keydown(function (event) {
    if (event.which == "13") {//回车键,移动光标到密码框
     $("#txtPass").focus();
    }
   });
   $("#txtPass").keydown(function (event) {
    if (event.which == "13") {//回车键,用.ajax提交表单
     $("#btnLogin").trigger("click");
    }
   });
   $("#btnLogin").click(function () { //“登录”按钮单击事件
    //获取用户名称
    var strTxtName = encodeURI($("#txtName").val());
    //获取输入密码
    var strTxtPass = encodeURI($("#txtPass").val());
    //开始发送数据
    $.ajax
    ({ //请求登录处理页
     url: "Login.aspx", //登录处理页
     dataType: "html",
     //传送请求数据
     data: { txtName: strTxtName, txtPass: strTxtPass },
     success: function (strValue) { //登录成功后返回的数据
      //根据返回值进行状态显示
      if (strValue == "True") {//注意是True,不是true
       $(".clsShow").html("操作提示,登录成功!" + strValue);
      }
      else {
       $("#divError").show().html("用户名或密码错误!" + strValue);
      }
     }
    })
   })
  })
 </script>
</head>
<body>
 <form id="frmUserLogin">
 <div class="divFrame">
  <div class="divTitle">
   <span>用户登录</span>
  </div>
  <div class="divContent">
   <div class="clsShow">
    <div id="divError" class="clsError">
    </div>
    <div>
     名称:<input id="txtName" type="text" class="txt" /></div>
    <div>
     密码:<input id="txtPass" type="password" class="txt" /></div>
    <div>
     <input id="btnLogin" type="button" value="登录" class="btn" />  
     <input id="btnReset" type="reset" value="取消" class="btn" />
    </div>
   </div>
  </div>
 </div>
 </form>
</body>
</html>

然后,新建Login.aspx,接收并处理数据:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="JSDemo.Login" ResponseEncoding="gb2312"%>
<%
 string strName = System.Web.HttpUtility.UrlDecode(Request["txtName"]);
 string strPass = System.Web.HttpUtility.UrlDecode(Request["txtPass"]);
 bool login = false;
 if (strName == "admin" && strPass == "admin")
 {
  login = true;
 }
 Response.Write(login);
%>

补充:form使用AJAX提交完整实例:

//将form转换为AJAX提交
 function ajaxSubmit(url,frm,fn){
  var dataPara=getFormJson(frm);
  $.ajax({
   url:url,
   type:"post",
   data:dataPara,
   async:false,
   dataType:'txt',
   success:fn
  });
 }
 //将form中的值转换为键值对
 function getFormJson(frm){
  var o={};
  var a=$(frm).serializeArray();
  $.each(a,function(){
   if(o[this.name]!==undefined){
    if(!o[this.name].push){
     o[this.name]=[o[this.name]];
    }
    o[this.name].push(this.value || '');
   }else{
    o[this.name]=this.value || '';
   }
  });
  return o;
 }
/*
 //前台调用方式
 function autoSubmitFun(){
   ajaxSubmit("autoSumitScoreAJAX.action",$('#formId'),function(){});
 }
*/

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JS支持带x身份证号码验证函数
Aug 10 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
解析jquery中的ajax缓存问题
Dec 19 Javascript
jQuery事件绑定与解除绑定实现方法
Apr 15 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
Jul 27 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
js 动态生成html 触发事件传参字符转义的实例
Feb 14 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
Nov 10 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 #Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 #Javascript
JS实现按比例缩放图片的方法(附C#版代码)
Dec 08 #Javascript
JS获取文件大小方法小结
Dec 08 #Javascript
js+ajax实现获取文件大小的方法
Dec 08 #Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 #Javascript
详解js中构造流程图的核心技术JsPlumb(2)
Dec 08 #Javascript
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php实例分享之二维数组排序
2014/05/15 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
可以文本显示的公告栏的js代码
2007/03/11 Javascript
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
Python写入CSV文件的方法
2015/07/08 Python
Python选课系统开发程序
2016/09/02 Python
python常用函数详解
2016/09/13 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python