jQuery基于Ajax方式提交表单功能示例


Posted in Javascript onFebruary 10, 2017

本文实例讲述了jQuery基于Ajax方式提交表单功能。分享给大家供大家参考,具体如下:

提交表单一般通过同步的方式提交,提交后页面刷新或跳转到新页面来显示服务器端返回的处理结果。如果表单提交后有另外的操作或业务需求需要还在这个页面上显示或处理,那么页面不能整体刷新,这时第一想到的就是采用ajax的方式提交表单。下面完整的介绍一个表单采用ajax方式提交的流程。

一、准备

1、页面引入jQuery文件

2、页面引入jQuery的表单插件jQuery.form.js

二、实施

1、页面中的表单

<form id="mainForm" method="post" enctype="multipart/form-data" class="jsrz_main_information">
   <input type="text" name="UserName" value="" />
   <div class="jsrz_main_button">
        <input type="submit" value="提交" id="agreementSub">
    </div>
</form>

2、提交表单的代码

$("#agreementSub").on("click",function(){
    $('#mainForm').ajaxSubmit( //ajax方式提交表单
      {
        url: '/personal/kaike',
        type: 'post',
        dataType: 'json',
        beforeSubmit: function () {},
        success: function (data) {
          if (data.Res == "True" || data.Res == true) {
            $('.jsrz_main_check').html('您的申请已提交,我们将会在1-2个工作日内进行审核,请耐心等待!');
          } else {
            alert(data.Msg);
          }
        },
        clearForm: false,//禁止清楚表单
        resetForm: false //禁止重置表单
      });
});

点击提交按钮触发绑定的click事件。

$('#mainForm').ajaxSubmit()//中的代码部分也可以封装为一个方法,在其他地方调用。

三、不使用jQuery.from表单插件的方式

$("#maniForm").submit(function (envent)
{
  envent.preventDefault();
  var form = $(this);
  $.ajax({
    url: form.attr("action"),
    type: form.attr("mathod"),
    data: form.serialize(),
    dataType: "json",
    beforeSend: function ()
    {
      $("#ajax-loader").show();
    },
    error: function ()
    {
    },
    complete:function () {
      $("#ajax-loader").hide();
    },
    success: function (data)
    {
      $("#article").html(data);
    }
  });
});

注:表单中必须有类型为submit的input按钮,用来激活submit方法。此种提交方式只能提交表单中比较简单的文本项,对于file类型的数据无法进行提交。input提交按钮的id和name属性的值不能为submit,否则会造成冲突而无法提交表单。

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

Javascript 相关文章推荐
dess中一个简单的多路委托的实现
Jul 20 Javascript
iframe 上下滚动条如何默认在下方实现原理
Dec 10 Javascript
跟我学习javascript的全局变量
Nov 16 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
Jan 25 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
Jul 12 Javascript
浅谈javascript中的Function和Arguments
Aug 30 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
May 11 Javascript
表格展示利器 Bootstrap Table实例代码
Sep 06 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
Promise静态四兄弟实现示例详解
Jul 07 Javascript
Bootstrap轮播图学习使用
Feb 10 #Javascript
微信小程序模板之分页滑动栏
Feb 10 #Javascript
三种方式实现瀑布流布局
Feb 10 #Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 #Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 #Javascript
javascript常用的设计模式
Feb 09 #Javascript
简单实现js选项卡切换效果
Feb 09 #Javascript
You might like
图解上海144收音机
2021/03/02 无线电
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
Python 解析XML文件
2009/04/15 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python实现简易数码时钟
2021/02/19 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
Pycharm github配置实现过程图解
2020/10/13 Python
用python发送微信消息
2020/12/21 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
介绍一下SQL Server的全文索引
2013/08/15 面试题
学校三八妇女节活动情况总结
2014/03/09 职场文书
高三霸气励志标语
2014/06/24 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
股东授权委托书范文
2014/09/13 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL