El formulario enviado mediante submit () desde un enlace no puede ser detectado por el controlador onsubmit
Sorprendido, me encuentro con este extraño problema al enviar el formulario de JS.
Problema:Considere un formulario simple enviado usando dos formas desubmit
botón y unanchor 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>
Función que captura el evento submit
document.getElementById('test').onsubmit = function() {
// Same result with
// * document.foobar.onsubmit
// * document.forms['foobar'].onsubmit
alert('foobar');
return false;
}
Ahora, cuando se envía el formulario de hacer clic en elsubmit
botón me da la alerta, perono al hacer clic en el enlace. ¿Por qué está haciendo esto?