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>
Я что-то пропустил?
Спасибо!
Ответы
Ответ 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">
Прекрасно.