Лучший путь
Лучший способ - вставить соответствующий тег ввода:
<input type="submit" value="submit" />
Лучший способ JS
<form id="form-id">
<button id="your-id">submit</button>
</form>
var form = document.getElementById("form-id");
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
Заключите последний код JavaScript в DOMContentLoaded
событие (выберите только load
для обратной совместимости ), если вы еще этого не сделали:
window.addEventListener("DOMContentLoaded", function () {
var form = document.... // copy the last code block!
});
Простой, не рекомендуемый способ (предыдущий ответ)
Добавьте onclick
атрибут в ссылку и id
в форму:
<form id="form-id">
<a href="#" onclick="document.getElementById('form-id').submit();"> submit </a>
</form>
Все способы
Какой бы способ вы ни выбрали, в formObject.submit()
конечном итоге вы получите вызов (где formObject
находится объект DOM <form>
тега).
Вы также должны привязать такой обработчик событий, который вызывает formObject.submit()
, чтобы он вызывался, когда пользователь нажимал определенную ссылку или кнопку. Есть два пути:
Рекомендуется: привязать прослушиватель событий к объекту DOM.
// 1. Acquire a reference to our <form>.
// This can also be done by setting <form name="blub">:
// var form = document.forms.blub;
var form = document.getElementById("form-id");
// 2. Get a reference to our preferred element (link/button, see below) and
// add an event listener for the "click" event.
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
Не рекомендуется: вставлять встроенный JavaScript. Есть несколько причин, по которым этот метод не рекомендуется. Одним из основных аргументов является то, что вы смешиваете разметку (HTML) со скриптами (JS). Код становится неорганизованным, и его трудно поддерживать.
<a href="#" onclick="document.getElementById('form-id').submit();">submit</a>
<button onclick="document.getElementById('form-id').submit();">submit</button>
Теперь мы подошли к моменту, когда вы должны выбрать элемент пользовательского интерфейса, который запускает вызов submit ().
Кнопка
<button>submit</button>
Ссылка
<a href="#">submit</a>
Примените вышеупомянутые методы, чтобы добавить прослушиватель событий.
target="_blank"
похоже, не работает.