拦截表单上的submit()调用
Intercept submit() calls on a form
我正在写一个chrome扩展,我想拦截所有调用到一个表单的提交方法,并有选择地允许/不允许他们。
看起来表单onsubmit事件只在表单的submit按钮被点击时触发,而不是在submit()被调用时触发。所以这没有用。
我想我可以使用表单的原型来破解我自己的提交方法在那里,这是可能的吗?
我不知道如何修改原型,但你绝对可以覆盖表单对象本身的提交函数(这种情况经常发生,当设计师决定给提交按钮一个name="submit"属性,没有明显的原因)。
因此,您可以执行节点查询来查找所有表单,并用您自己的包装器函数替换每个表单的submit属性。
Chrome的沙箱阻止这种工作。如果从内容脚本执行此操作,页面仍将看到原始的submit()方法。
document.someform.submitOrig = document.someform.submit;
document.someform.submit = function() {
this.onsubmit();
this.submitOrig();
};
这个工作,感谢GGG
相关文章:
- 在带有参数列表的表单submit上调用一个方法
- 你能从本地脚本在另一个站点上调用 submit() 吗?
- 为什么在调用 .submit 时调用 .focusout - jquery
- 在 jQuery 中取消 $('form').submit() 调用
- 无法调用 $scope.submit 函数
- ng-click 或 ng-submit 不调用控制器方法
- JQuery form.submit() 不调用控制器方法
- 当输入名称调用submit时,为什么表单不使用JavaScript提交
- 提交表单时未调用Submit函数
- 在ng include之后调用ng submit
- 点击表单外部的按钮,在表单中的submit按钮上调用submit
- 发送<表单>通过两个不同的Submit按钮获取信息,这两个按钮调用相同的函数,但需要知道调用来自哪个Subm
- jQuery-将POST数据附加到submit()调用
- 如何控制this.form.submit在mvc中调用的函数
- JS中的Need Workaround:对象不是函数(当调用form.submit()时)
- 当php中的计时器使用javascript达到零时,不调用Submit方法
- 如何调用表单['myform'].submit with input with name'提交&
- 当函数被调用'submit'时,表单onSubmit不起作用
- & # 39; onclick # 39;似乎没有调用'submit'按钮
- Javascript调用submit进行回发