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?

Foi útil?

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

<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()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top