javascript - 是否可以在发送前更改表单数据?

标签 javascript jquery forms

我想找到在发送表单之前更改数据的通用方法。如果我有 <form>包含 <input>某种类型(类)并且用户按下发送按钮,我想将此输入值转换为另一种格式,以便它以正确的格式到达服务器。

我知道我可以设置一个 submit() 处理程序来处理数据,但是我需要一个通用的解决方案来在所有页面表单上设置加载机制并忘记它(也许发送了一些表单通过 AJAX,其他使用 Jquery.validate 发送等)

最佳答案

使用 jQuery 选择所有表单元素:$('form') 并为表单 submit 事件注册处理程序。像这样:

$('form').submit(function(e){
    e.preventDefault()
    var $this = $(this)
    var formData = $this.serialize()
    // do some thing to it
    var yourData = transform(formData)
    $.ajax({
       post: $this.attr('action'),
       data: yourData,
       ...
    })
})

引用资料

关于javascript - 是否可以在发送前更改表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7730625/

相关文章:

javascript - 创建渐变/彩虹描边样式 html5 Canvas

javascript - jQuery getScript 不会加载脚本

javascript - 为什么要返回 !!var JavaScript?

javascript - 为什么 IE7 和 IE8 在调用 jQuery 时给我 "Access Denied"?

ruby-on-rails - 带有 check_box 渲染列表的 Form_for

javascript - 在 React 组件之外访问 Redux Store 会返回初始值

javascript - Angularjs 将表单输入保存到 php 和 Mysql

javascript - 关于 Angular 中的 $http 服务,我有些不明白

javascript - 如何计算单选按钮组所需的 ng 错误?

javascript - Google Script - 侧边栏按钮不断打开一个新标签