javascript - 如何使用纯 JavaScript 拦截表单提交并更改操作

标签 javascript

是否可以拦截表单提交并将操作更改为不同的 URL,然后再继续提交? 各种表单提交都应该被拦截(用户点击按钮、javascript 调用等)。

编辑: 所有使用 onsubmit 事件的解决方案都不好,因为如所述 here ,调用submit()时不会触发事件:

The form's onsubmit event handler (for example, onsubmit="return false;") will not be triggered when invoking this method from Gecko-based applications.

例如

document.forms["myform"].submit() 

不会触发该事件。

最佳答案

根据您使用的 URL,您可能会遇到跨域问题(了解更多信息:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policyhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)。这是一种安全措施,可防止某个域上的页面向另一个域发出请求。防止这种情况的方法是在服务器端设置 COR 策略(如果您有权访问它)。

可以将 JSOP 用于 GET 请求,但不能用于 POST 或 UPDATE/PUT,这是提交表单时的情况。

关于javascript - 如何使用纯 JavaScript 拦截表单提交并更改操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32701004/

相关文章:

javascript - object.prop 和对象 ["prop"之间的区别]

javascript - Word 加载项获取完整的文档文本?

javascript - 在 ColdFusion 中获取页面位置

javascript - XUL 文档与 HTML 文档对象有何不同?

javascript - 在 webpack 2.x 中将 autoprefixer 与 postcss 结合使用

javascript - 更改 Google 的 Geochart 可视化 api 中的图例

javascript - Google 图表工具提示位置问题

JavaScript 监视表单字段并设置 session cookie

javascript - 当属性值为某物时如何隐藏数据属性

javascript - 访问 HTMLRewriter 中的嵌套元素 - Cloudflare Workers