鱼C论坛

 找回密码
 立即注册
查看: 4210|回复: 0

[萌新报道] Jquery表单提交插件jquery form的用法

[复制链接]
发表于 2017-2-27 15:36:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  首先我们载入jquery库和jquery.form.js插件。jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/

  代码如下

  <script type="text/javascript" src="jquery.js"></script>

  <script type="text/javascript" src="jquery.form.min.js"></script>

  然后,我们在页面的body中加入一个简单的表单代码:

  代码如下

  1

  <form id="my_form" action="submit.php" method="post">

  2

  <p>姓名:<input type="text" name="uname" id="uname" class="input"></p>

  3

  <p>性别:<input type="radio" name="sex" value="1" checked> 男

  4

  <input type="radio" name="sex" value="2"> 女 </p>

  5

  <p>年龄:<input type="text" name="age" id="age" class="input" style="width:50px"></p>

  6

  <p style="margin-left:30px"><input type="submit" class="btn" value="提交">

  7

  <span id="msg"></span></p>

  8

  </form>

  9

  <div id="output"></div>

  表单中,要求输入姓名、性别和年龄,然后提交到submit.php处理,通常情况下,点击“提交”按钮后,页面会转到submit.php处理表单数据,而我们使用jquery.form插件后,页面并不会跳转,直接完成了一个ajax交互。

  jQuery

  我们很方便的调用jquery.form插件,利用ajaxSubmit()使得整个表单的ajax提交过程变得非常的简单。

  代码如下

  01

  $(function(){

  02

  var options = {

  03

  beforeSubmit:  showRequest,  //提交前处理

  04

  success:       showResponse,  //处理完成

  05

  resetForm: true,

  06

  dataType:  'json'

  07

  };

  08

  09

  $('#my_form')。submit(function() {

  10

  $(this)。ajaxSubmit(options);

  11

  });

  12

  });

  13

  14

  function showRequest(formData, jqForm, options) {

  15

  var uname = $("#uname")。val();

  16

  if(uname==""){

  17

  $("#msg")。html("姓名不能为空!");

  18

  return false;

  19

  }

  20

  21

  var age = $("#age")。val();

  22

  if(age==""){

  23

  $("#msg")。html("年龄不能为空!");

  24

  return false;

  25

  }

  26

  $("#msg")。html("正在提交…");

  27

  28

  29

  return true;

  30

  }

  31

  32

  function showResponse(responseText, statusText)  {

  33

  $("#msg")。html('提交成功');

  34

  var sex = responseText.sex==1?"男":"女";

  35

  $("#output")。html("姓名:"+responseText.uname+" 性别:"+sex+" 年龄:"+responseText.age);

  36

  }

  以上代码完成了表单提交前的验证以及提交后的处理。表单数据提交到submit.php后,我们可以根据实际情况通过submit.php检测数据、将数据写入数据库,返回操作结果等等操作,本文不再列出代码。

  ajaxSubmit()选项设置

  ajaxSubmit()提供了丰富的选项设置,我们根据使用的可能性大小进行列表,以供参考。

  属性 描述

  url Ajax请求将要提交到该url,默认是表单的action属性值

  type 指定提交表单数据的方法(method):“GET”或“POST”。默认值:表单的method属性值(如果没有找到默认为“GET”)。

  dataType 期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持:

  'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。

  'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话……

  'script':如果dataType == 'script', 服务器响应将求值成纯文本……

  默认值:null(服务器返回responseText值)

  target 指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。

  默认值:null。

  beforeSubmit 表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果“beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。

  默认值:null

  success 表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。

  默认值:null

  clearForm 表示如果表单提交成功是否清除表单数据。默认值:null

  resetForm 表示如果表单提交成功是否进行重置。默认值: null

  jquery.form插件还提供了formToArray(www.9ask.cn/enshi/)、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等方法
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-17 06:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表