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 相关文章推荐
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
javascript是怎么继承的介绍
Jan 05 Javascript
js获取ajax返回值代码
Apr 30 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
Dec 18 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
谈一谈jQuery核心架构设计
Mar 28 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
纯js模仿windows系统日历
Feb 04 Javascript
node实现简单的反向代理服务器
Jul 26 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
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/10/09 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
法学专业毕业生自荐信范文
2013/12/18 职场文书
公司薪酬管理制度
2014/01/31 职场文书
销售冠军获奖感言
2014/02/03 职场文书
机关节能减排实施方案
2014/03/17 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
银行授权委托书格式
2014/10/10 职场文书
年会主持人开场白台词
2015/05/29 职场文书
大学体育课感想
2015/08/10 职场文书
四年级语文教学反思
2016/03/03 职场文书
Python制作表白爱心合集
2022/01/22 Python
Python学习之包与模块详解
2022/03/19 Python