У меня есть форма, в которой есть кнопка, которая отправляет форму. Мне нужно что-то сделать перед отправкой. Я пробовал нажать на эту кнопку onClick , но это происходит после отправки.
Я не могу поделиться кодом, но, как правило, что мне делать в jQuery или JS, чтобы справиться с этим?
javascript
jquery
html
Джимми
источник
источник
Ответы:
Если у вас есть форма как таковая:
<form id="myform"> ... </form>
Вы можете использовать следующий код jQuery, чтобы что-то сделать перед отправкой формы:
$('#myform').submit(function() { // DO STUFF... return true; // return false to cancel form action });
источник
submit
функция не должна иметь возможность связываться напрямую с$('#form')
функцией без окружающей пустой функции? РЕДАКТИРОВАТЬ: документы предполагают, что окружающий вызов функции не нужен .$(document).ready()
функции jQuery , которая обеспечивает завершение DOM перед присоединениемsubmit
события. Если ваш JS находится внизу страницы, это необязательно, но если он находится в<head>
разделе, то он вам нужен. См .: stackoverflow.com/q/13062246/135108Предполагая, что у вас есть такая форма:
<form id="myForm" action="foo.php" method="post"> <input type="text" value="" /> <input type="submit" value="submit form" /> </form>
Вы можете прикрепить
onsubmit
событие с помощью jQuery следующим образом:$('#myForm').submit(function() { alert('Handler for .submit() called.'); return false; });
Если вы
return false
не отправите форму после функции, если вы вернете true или ничего, она будет отправлена как обычно.Дополнительную информацию см. В документации jQuery .
источник
Вы можете использовать
onclick
для запуска некоторого кода JavaScript или jQuery перед отправкой формы следующим образом:<script type="text/javascript"> beforeSubmit = function(){ if (1 == 1){ //your before submit logic } $("#formid").submit(); } </script> <input type="button" value="Click" onclick="beforeSubmit();" />
источник
убедитесь, что кнопка отправки не относится к типу «отправить», сделайте ее кнопкой. Затем используйте событие onclick, чтобы запустить какой-нибудь javascript. Там вы можете делать все, что захотите, прежде чем вы действительно разместите свои данные.
источник
onsubmit
в форме , которая будет срабатывать независимо от того , как отправит форму.