Как сделать что-то раньше на submit?

У меня есть форма, у которой есть кнопка, которая представляет форму. Мне нужно что-то сделать, прежде чем отправляться. Я пробовал делать onClick на этой кнопке, но это происходит после отправки.

Я не могу поделиться этим кодом, но, как правило, что мне делать в jQuery или JS для этого?

Ответ 1

Если у вас есть форма как таковая:

<form id="myform">
...
</form>

Вы можете использовать следующий код jQuery, чтобы что-то сделать перед отправкой формы:

$('#myform').submit(function() {
    // DO STUFF...
    return true; // return false to cancel form action
});

Ответ 2

Предполагая, что у вас есть такая форма:

<form id="myForm" action="foo.php" method="post">
   <input type="text" value="" />
   <input type="submit" value="submit form" />

</form>

Вы можете прикрепить onsubmit -event с помощью jQuery следующим образом:

$('#myForm').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});

Если вы return false форма не будет отправлена ​​после функции, если вы вернете true или ничего, она будет отправлена ​​как обычно.

Подробнее см. документацию jQuery.

Ответ 3

Вы можете использовать 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();" />

Ответ 4

убедитесь, что кнопка отправки не имеет типа "отправить", сделайте ее кнопкой. Затем используйте событие onclick для запуска некоторого javascript. Там вы можете делать все, что захотите, прежде чем публиковать свои данные.