problema jQuery .submit
-
18-09-2019 - |
Pergunta
Estou tendo um pequeno problema com jQuery:
Estou tendo .submit()
definida em um formulário, quando eu enviar o formulário clicando no botão Enviar, o mesmo gatilhos e as coisas funciona sem problemas, no entanto, quando eu uso document.forms[0].submit()
, o evento não se desencadeou, mas os submete o formulário !! Existe alguma razão para que? Como posso superar isso?
Solução
Isso é apenas a maneira como ele funciona -. Chamando o .submit()
nativa não aciona o manipulador de eventos javascript
Use o .submit()
jQuery em vez disso:
$('form:first').submit();
Outras dicas
Se o formulário de envio é nomeado como esta ??p>
<form method="POST" id="the_waffle_form">
Em seguida, você pode enviá-lo fazendo isso.
$("#the_waffle_form").submit();
Confira o documentação para mais grandes exemplos.
Há alguns de nós aqui que são forçados a usar o código de sistemas legados. Estes sistemas não são compatíveis, e no meu caso aguardando para ser atualizado. Mas quando vários milhares de pessoas estão usando o sistema, é possível não apenas para entrar e alterar o código para pacotes de linha de base. Assim, somos forçados a encontrar soluções alternativas. No meu caso, as formas não têm IDs ou nomes, portanto, usando document.forms[0].submit()
é uma das únicas opções.
Isto pode soar estranho, mas por que você mesmo usar document.forms[0].submit()
quando você usa jQuery já.
Simples (? Talvez estúpido) sugestão: Não use uso document.forms[0].submit()
isso em vez
$("#hereidofyourform").submit()