Formulário enviado usando submit () de um link não pode ser pego pelo manipulador onsubmit
Surpreso, estou encontrando esse problema estranho ao enviar o formulário do JS.
Questão:Considere um formulário simples enviado usando duas formas de umsubmit
botão e umanchor link
<form method="POST" action="page.html" name="foobar" id="test">
<input type="text" />
<input type="submit" />
</form>
<a href="#" onclick="document.getElementById('test').submit();">click me</a>
Função pegando o evento de envio
document.getElementById('test').onsubmit = function() {
// Same result with
// * document.foobar.onsubmit
// * document.forms['foobar'].onsubmit
alert('foobar');
return false;
}
Agora, quando o formulário é enviado clicando nosubmit
botão eu recebo o alerta, masnão quando clicar no link. Por que isso está acontecendo?