我收到Uncaught TypeError:Chrome或SCRIPT65535中的非法调用:提交表单时IE中的调用对象无效。
以下标记重现错误:
<!DOCTYPE html>
<html>
<body>
<p>Enter some text in the fields below, then press the "Submit form" button to submit the form.</p>
<form id="myForm" action="form_action.asp">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br><br>
<input type="button" onclick="myFunction()" value="Submit form">
</form>
<script>
function myFunction()
{
var submit2 = myForm.submit;
submit2();
}
</script>
</body>
</html>
但是换行:
var submit2 = myForm.submit;
submit2();
直接汇总形式myForm.submit()然后所有工作没有错误。
所以如何解决问题对我来说很明显,对我而言,“间接”表单提交导致错误的原因很有意思
答案 0 :(得分:3)
使用myForm.submit()
调用时的submit方法知道上下文是myForm,但是当我们使用submit2()
调用它时,没有上下文(全局上下文),因此它给出了错误。 强>
要修复错误,您必须通过将此内容设置为myForm来调用submit2()
方法。
示例代码是
var submit2 = myForm.submit;
submit2.call(myForm);
您可以使用电话或申请更改上下文。
更多关于电话和申请的信息: