Может кто-нибудь сказать мне, что происходит с этим кодом? Я попытался отправить форму с помощью JavaScript, но показалась ошибка «.submit is not function». Смотрите ниже для более подробной информации о коде:
<form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data">
<input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value="">
</form>
<script type="text/javascript">
function submitAction()
{
document.frmProduct.submit();
}
</script>
Я также попробовал это:
<script type="text/javascript">
function submitAction()
{
document.forms["frmProduct"].submit();
}
</script>
Оба показывают мне ту же ошибку :(
javascript
html
dom
submit
Джин Юн
источник
источник
Ответы:
означает, что вы назвали свою кнопку отправки или какой-либо другой элемент
submit
. Переименуйте кнопку в,btnSubmit
и ваш звонок будет волшебным образом работать.Когда вы называете кнопку «Отправить», вы переопределяете
submit()
функцию в форме.источник
#submit
, вы можете обойти его, украв другую форму экземпляраsubmit()
метода, например:document.createElement('form').submit.call(document.frmProduct)
.РЕДАКТИРОВАТЬ: я случайно поменял удостоверение личности вокруг
источник
Убедитесь, что другой формы с таким же именем не существует, и убедитесь, что в форме нет name = "submit" или id = "submit".
источник
Если у вас нет возможности измениться,
name="submit"
вы также можете отправить форму следующим образом:источник
HTMLFormElement.prototype.submit.call(form)
также работаетУ меня была такая же проблема, когда я создавал приложение MVC, используя главные страницы. Попытка поиска элемента с 'submit' в качестве имен, как указано выше, но это не так.
В моем случае это создало несколько тегов на моей странице, поэтому возникли проблемы со ссылкой на правильную форму.
Чтобы обойти это, я позволю кнопке определять, какой объект формы использовать:
и с JS:
источник
В этой теме уже есть много ответов, но тот, который работал лучше (и самый простой - одна строка!) Для меня, был модификацией комментария, сделанного Нилом Э. Пирсоном от 21 апреля 2013 года:
Моя модификация его метода, и что сработало для меня:
document.createElement('form').submit.call(document.getElementById(frmProduct));
источник
присвоение элементу формы имени submit просто затеняет свойство submit. убедитесь, что у вас нет элемента формы с именем submit, и у вас должна быть возможность получить доступ к функции submit.
источник
На самом деле, решение очень простое ...
Оригинал:
Решение:
источник
Вы должны использовать этот код:
источник
Что я использовал
Просто потому, что все остальное не сработало.
источник
Решением для меня было установить атрибут "form" кнопки
или это JS:
источник
Возможные решения -
1. Убедитесь, что у вас нет другого элемента с именем / идентификатором в качестве отправки.
2. Попробуйте вызвать функцию как
onClick = "return submitAction();"
3.
document.getElementById("form-name").submit();
источник
Можешь попробовать
У вас нет более одной формы с одним и тем же именем?
источник
Используйте getElementById:
источник