Вместо кнопки отправки у меня есть ссылка:
<form>
<a href="#"> submit </a>
</form>
Могу ли я заставить его отправить форму при нажатии?
javascript
html
forms
hyperlink
Сэнди
источник
источник
target="_blank"
похоже, не работает.<a role="button" aria-label="submit form" href="javascript:void(0)" onclick="document.querySelector('form').submit()">Submit</a>
Ответы:
Лучший путь
Лучший способ - вставить соответствующий тег ввода:
Лучший способ JS
Заключите последний код JavaScript в
DOMContentLoaded
событие (выберите толькоload
для обратной совместимости ), если вы еще этого не сделали:Простой, не рекомендуемый способ (предыдущий ответ)
Добавьте
onclick
атрибут в ссылку иid
в форму:Все способы
Какой бы способ вы ни выбрали, в
formObject.submit()
конечном итоге вы получите вызов (гдеformObject
находится объект DOM<form>
тега).Вы также должны привязать такой обработчик событий, который вызывает
formObject.submit()
, чтобы он вызывался, когда пользователь нажимал определенную ссылку или кнопку. Есть два пути:Рекомендуется: привязать прослушиватель событий к объекту DOM.
Не рекомендуется: вставлять встроенный JavaScript. Есть несколько причин, по которым этот метод не рекомендуется. Одним из основных аргументов является то, что вы смешиваете разметку (HTML) со скриптами (JS). Код становится неорганизованным, и его трудно поддерживать.
Теперь мы подошли к моменту, когда вы должны выбрать элемент пользовательского интерфейса, который запускает вызов submit ().
Кнопка
Ссылка
Примените вышеупомянутые методы, чтобы добавить прослушиватель событий.
источник
name="submit"
,submit()
метод вашей формы будет недоступен.<input type="submit">
имеет более смысловое значение , чем, скажем,<a href="#" onclick="...">
. Это особенно важно в отношении программ чтения с экрана. Если вам необходимо использовать последнее, я бы предложил использовать ARIA .Если вы используете jQuery и вам понадобится встроенное решение, это сработает очень хорошо;
Кроме того, вы можете заменить
с участием
чтобы пользователь не прокручивал страницу вверх при нажатии на ссылку.
источник
href="#"
а затем выбрать все эти связи с помощью JQuery и вызоваe.preventDefault()
вclick
обработчик событий , чтобы браузер не прокручивается.Вы можете присвоить форме и ссылке несколько идентификаторов, а затем подписаться на
onclick
событие ссылки иsubmit
формы:а потом:
Я бы рекомендовал вам использовать кнопку отправки для отправки форм, поскольку она соблюдает семантику разметки и будет работать даже для пользователей с отключенным javascript.
источник
HTML и CSS - нет решения для Javascript
HTML:
CSS:
источник
это хорошо работает без каких-либо специальных функций. Намного проще писать на php.
<input onclick="this.form.submit()"/>
источник
<input onclick="this.form.submit()"> Some Text</input>
источник
В моем случае он отлично работает.
вы также можете использовать его в функции, например,
Установите "theForm" в качестве идентификатора вашей формы. Это сделано.
источник
вот лучшее решение вашего вопроса: внутри формы у вас есть этот код:
в файле CSS сделайте следующее:
в JS вы делаете это:
Вот и все.
источник