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 相关文章推荐
Javascript var变量隐式声明方法
Oct 19 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
JavaScript中判断对象类型的几种方法总结
Nov 11 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
Nov 02 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
Apr 17 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 19 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
PHP 字符串操作入门教程
2006/12/06 PHP
PHP session会话的安全性分析
2011/09/08 PHP
php Session存储到Redis的方法
2013/11/04 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP微信支付开发实例
2016/06/22 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
jquery一句话全选/取消全选
2011/03/01 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
Python检测网络延迟的代码
2018/05/15 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
PHP中如何创建和修改数组
2012/05/02 面试题
党员干部承诺书范文
2014/03/25 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
销售员岗位职责范本
2015/04/11 职场文书
PHP中->和=>的意思
2021/03/31 PHP