我收到Uncaught TypeError:Chrome或SCRIPT65535中的非法调用:提交表单时IE中的无效调用对象.
以下标记重现错误:
Enter some text in the fields below, then press the "Submit form" button to submit the form.
First name:
Last name:
function myFunction()
{
var submit2 = myForm.submit;
submit2();
}
但是当改为行时:
var submit2 = myForm.submit;
submit2();
直接从myForm.submit()求和,然后所有工作都不会出错.
因此,如何解决问题对我来说很明显,对我来说,为什么“间接”表单提交会导致错误很有趣
解决方法:
当使用myForm.submit()调用Submit方法时,它知道上下文是myForm,但是当我们使用Submit2()调用该方法时,没有上下文(全局上下文),因此会产生错误.
要解决该错误,必须通过将其内容设置为myForm来调用commit2()方法.
示例代码是
var submit2 = myForm.submit;
submit2.call(myForm);
您可以使用通话,也可以申请更改上下文.
有关通话和申请的更多信息:
标签:forms,google-chrome,internet-explorer,javascript
来源: https://codeday.me/bug/20191122/2057032.html