TypeError: e [h] не является функцией - программирование

TypeError: e [h] не является функцией

Я использую jquery 1.6 без проблем. Сегодня я переключился на jquery 1.8, и внезапно я получаю эту ошибку при попытке отправить форму:

TypeError: e[h] is not a function.

форма:

<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>

Я что-то пропустил?

Спасибо!

4b9b3361

Ответ 1

Снимите строку ниже.

<input type="submit" name="login" id="submit" style="visibility:hidden" />

Update:

Или, если вам нужно использовать ввод отправки, вам нужно изменить id submit на что-то еще. Причина в том, что если у вас есть элемент ввода с id из submit, он установит свойство submit в форму с помощью HTMLInputElement. Таким образом, вы не можете вызвать метод .submit в HTMLFormElement.

Ответ 2

Я waster 3 часа, пытаясь исправить ту же проблему, я использовал name= 'submit' для моей кнопки отправки и вызывал $( "# form_name" ). submit(); в функции и получил ошибку. Иногда небольшие вещи, которые я пропускаю, теряют много времени.

Ответ 3

Я думаю, это потому, что строка

<input type="submit" name="login" id="submit" style="visibility:hidden" />

Вы можете удалить его и повторить попытку?

Ответ 4

Когда мы используем элемент типа отправки в форме, этот элемент будет установлен как свойство Submit формы. Таким образом, нельзя было вызвать функцию submit() с другим элементом формы.

Есть два способа сделать это. первый из них просто удаляет строку, как указано в первом ответе.

Или Использовать $( "# submit" ). trigger ("click"); вместо $( "# login" ). submit();. и он будет отправить форму при нажатии клавиши ввода.

Ответ 5

Ваши form и input имеют одно и то же значение атрибута имени, login.

Измените name на input на что-то еще, например submit. Это должно устранить вашу ошибку.

Ответ 6

С jQuery 1.7 (возможно, выше), если у вас есть свойство name, также называемое submit, оно сломается.

например.

<input type="submit" name="submit" value="Upload">

Не работает, однако:

<input type="submit" name="sendSubmit" value="Upload">

Прекрасно.