javascript - 触发表单提交的各种方法是什么?
问题描述
我正在创建一个插件,该插件需要在提交之前“预处理”任意表单。
问题是这个插件将用于我无法控制的表单上,并且使用它的人不知道如何编码。
我更愿意支持多种不同的提交方案,以最大限度地提高兼容性。
因此,我正在尝试考虑可以触发表单提交的所有各种方式。这是我到目前为止所拥有的:
- 单击用或
<input>
注释的任何字段。type='submit'
type='image'
- 将焦点Space放在用或
<input>
注释的字段上。type='submit'
type='image'
- Space将焦点按在
<button>
未用 注释的字段上type='reset'
。 - Enter将焦点按在未用 注释的
<input>
或字段上。<select>
type='reset'
- 使用 以编程方式提交表单
form.submit()
。 - AJAX 提交以多种方式触发(fwiw,这种情况非常复杂,我可能不得不满足于优雅降级)。
我错过了哪些其他可能性?
解决方案
表单提交触发器
表单元素:被点击的表单元素。
表单类:在表单的类属性中找到的值数组。
表单 ID:表单元素的 ID 属性。
表单目标:表单元素的目标属性。
表单 URL:表单元素的 href 属性值(如果有)。
推荐阅读
- mysql - 如果触发器因任何原因失败,MYSQL 触发器是否可能返回错误消息?
- r - 循环遍历命名向量
- angular - API JSON GET - 监听变化
- javascript - this.src.indexOf 不是函数
- reactjs - 如何在reactjs中显示图像?
- c# - 我的 EF6 关系在 ID > 1 的情况下不起作用,我做错了什么?
- c++ - 应用现有密钥时 TMap::Emplace() 是否会覆盖?
- php - PHP中两个子域之间的共享会话
- python - PyQt5 应用程序中的故障排除 (QDialog -> QMainWindow)
- sql - 设计数据库中的排序列