TypeError:e [h]不是函数

Fed*_* E. 19 javascript jquery

我一直在使用jquery 1.6没问题.今天我切换到jquery 1.8,突然我在尝试提交表单时收到此错误:

TypeError: e[h] is not a function.
Run Code Online (Sandbox Code Playgroud)

形成:

<form method="post" action="login?login" name="login" id="login">
<input class="input" type="text" name="user_mail" id="user_mail" autocomplete="on" />
<input class="input" type="password" name="password" id="password" autocomplete="off" />
<a class="green_button" href="javascript:void(0)" id="login_button">Login</a>
<input type="submit" name="login" id="submit" style="visibility:hidden" />
</form>
<script language="javascript">
$("#login_button").click(function(){
    $("#login").submit();   
});
</script>
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

谢谢!

xda*_*azz 32

删除下面的行.

<input type="submit" name="login" id="submit" style="visibility:hidden" />
Run Code Online (Sandbox Code Playgroud)

更新:

或者,如果您必须使用提交输入,则需要将ID更改submit为其他内容.原因是,如果你有一个输入元素与idsubmit,它会设置submit属性与HTMLInputElement形式.所以你无法.submit在HTMLFormElement上调用该方法.

  • 只是一个注释:当使用name ="submit"而不仅仅是id时,会发生与OP描述相同的问题 (3认同)

小智 6

我花了3个小时试图解决同样的问题,我使用name ='submit'作为我的提交按钮并且正在调用$("#form_name").submit(); 在一个函数中,并得到了错误.有时我忽视的小事最终会浪费很多时间.