通过Ajax提交表单数据

2、通过Ajax提交表单数据

2.1、监听表单提交事件

在jQuery中,可以使用如下两种方式,监听表单提交事件

 

引入jQuery

<script src="js/jquery.min.js"></script>

html文件

<form action="/login" id="f1">
    <input type="text" name="email_or_mobile" />
    <input type="password" name="password" />
    <button type="submit">提交</button>
 </form>

js代码

$(function () {
    // 第一种方式
    $('#f1').submit(function () {
      console.log('监听到了');
    })
    // 第二种方式
    $('#f1').on('submit', function () {
      console.log('监听到了');
    })
  })  

2.2、阻止表单的默认行为

当监听到表单的提交事件以后,可以调用事件对象的event.preventDefault()函数,来阻止表单的提交和页面的跳转,示例代码如下

引入jQuery

<script src="js/jquery.min.js"></script>

html文件

<form action="/login" id="f1">
    <input type="text" name="email_or_mobile" />
    <input type="password" name="password" />
    <button type="submit">提交</button>
 </form>

js代码

  $(function () {
    // 第一种方式
    $('#f1').submit(function (e) {
      e.preventDefault()
    })
    // 第二种方式
    $('#f1').on('submit', function (e) {
      e.preventDefault()
    })
  })  

2.3、快速获取表单中的数据

1、serialize()函数

为了简化表单中数据的获取操作,jQuery提供了serialize)函数。其语法格式如

serialize(函数的好处):可以一次性获取到表单中的所有的数据

注意:在使用serialize)函数快速获取表单数据时,必须为每个表单元素添加name属性

 

引入jQuery

<script src="js/jquery.min.js"></script>

html文件

<form action="/login" id="f1">
    <input type="text" name="email_or_mobile" />
    <input type="password" name="password" />
    <button type="submit">提交</button>
 </form>

js代码

 $(function () {
    // 第一种方式
    $('#f1').submit(function (e) {
      e.preventDefault()
      var data = $(this).serialize()
      console.log(data);
    })
    // 第二种方式
    $('#f1').on('submit', function (e) {
      e.preventDefault()
      var data = $(this).serialize()
      console.log(data);
    })
  }) 

 

posted @ 2022-04-28 21:22  生活在北极的企鹅  阅读(657)  评论(0编辑  收藏  举报