通过Ajax提交表单的数据
2023-06-13 09:14:04 时间
表单同步提交的缺点
<form>
表单同步提交后,整个页面会发生跳转,跳转到action URL所指向的地址,用户体验很差。<form>
表单同步提交后,页面之前的状态和数据会丢失。
解决方案:
表单只负责采集数据,Ajax负责将数据提交到服务器。
监听表单提交事情
在jQuery中,可以使用如下俩种方式,监听到表单的提交事件
方法一:
$('#f1').submit(function (e) {
alert('监听到了表单的提交事件!')
})
方法二:
$('#f1').on('submit', function (e) {
alert('监听到了表单提交事件')
})
阻止表单的默认提交行为
当监听到表单的提交事件后,可以调用事件对象的 event.preventDefault()
函数,来阻止表单的提交和页面的跳转,示例代码如下:
$('#f1').submit(function (e) {
//阻止表单的提交和页面的跳转
e.preventDefault()
})
或
$('#f1').on('submit', function () {
//阻止表单的提交和页面的跳转
e.preventDefault()
})
快速获取表单中的数据
1.serialize()函数
为了简化表单中数据的获取操作,jQuery提供了 serialize()
函数,其语法格式如下:
$(selector).serialize()
好处:可以一次性获取到表单中的所有数据。
2.serialize()函数示例
<form id="f1">
<input type="text" name="user_name">
<input type="password" name="password">
<button type="submit">提交</button>
</form>
$('#f1').submit(function (e) {
//阻止表单的提交和页面的跳转
e.preventDefault()
var data = $(this).serialize()
console.log(data);
//结果:username=用户名的值&password=密码的值
})
注意:在使用 serialize()
函数快速获取表单数据时,必须为每个表单元素添加name属性!
相关文章
- 经典的20道AJAX面试题[通俗易懂]
- 你还在手动拼接ajax数据吗?还不会通过ajax实现文件上传?
- java实现ajax_Ajax&Java
- ajax没有响应问题
- JS 学习笔记(二)Ajax的简单使用
- springmvc+mybatis+ajax 批量插入数据详解编程语言
- eval json ajax详解编程语言
- 使用AJAX获取Django后端数据
- 从MySQL分批传输至客户端AJAX解决方案(ajax分批mysql)
- MySQL与Ajax 精彩无穷的开发实现(ajax与mysql)
- Ajax与MySQL实现高效率数据加载(ajax mysql加载)
- Ajax技术(WEB无刷新提交数据)-
- 掌握AJAX第1/7页
- ajax发表读取评论
- Ajax+ASP和Flash+ASP数据读取取方法有些相似的实现方法
- AJAX自学练习无刷新提交并修改数据库数据并显示
- asp.net使用母版页中使用ajax脚本取数据
- Ajax数据请求的简单分析
- Jquery公告滚动+AJAX后台得到数据
- 10款非常有用的Ajax插件分享
- 菜鸟蔡之Ajax复习第二篇(JQuery中的load()方法实现Ajax功能)
- ajax页面无刷新IE下遭遇Ajax缓存导致数据不更新的问题
- AJAX获取服务器当前时间及时间格式输出处理
- jsp中ajax的get请求的中文乱码问题的解决方法
- ajax请求返回的数据看不到回调函数没有执行也没报错
- jquery序列化form表单使用ajax提交后处理返回的json数据
- php+ajax导入大数据时产生的问题处理
- 使用ajax技术无刷新动态调用新浪股票实时数据