Formulario de envío versus botón de envío onclick
ACTUALIZA Desde@ BrendanEich
@ mplungjan onclick of submit simplemente se cae de eso siendo un botón; formulario de presentación es claramente mejor.
Cuáles serían las razones para usar el clic de un botón de envío para determinar si el formulario debe enviarse o no?
Creo firmemente que
para ejecutar algo antes de enviar y cancelar el envío en caso de error, el evento de envío del formulario es el lugar obvio para colocarloSi usa el clic de un botón de envío y luego decide usar type = "image", el controlador de eventos fallará en muchos navegadores si cambia el envío a un botón, también deberá agregar un envío al controlador de eventos onclick.Estoy buscando razones sólidas para preferir usar el evento onclick de un botón de envío en lugar del envío del formulario.
UPDATE: Por favor, no es que yo personalmente conozca muchos de los problemas relacionados con el envío y la validación de formularios.
Por ejemplo, que enviar por JavaScript no activará el envío dehttp: //jsfiddle.net/mplungjan/3A4Ha
<form onsubmit="alert('onSubmit called')">
<input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
<input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
También que IE no activará el onclick si presionas enter en el formulario en mi violín
Historia
Ingrese a una discusión aquí
l botón @html no se puede hacer clic sin estar deshabilitado
Tengo una aversión intensa por usar el clic de un botón de enviar para CUALQUIER COSA debido amucho1 años de ver esto no funciona en varios navegadores, en su mayoría versiones anteriores de IE. He enumerado algunas de las razones obvias, pero estoy seguro de que no convencerán al usuario endurecido.
a comunidad de @Can SO me ayudó a clavarlo en la pared, como si hubieran clavado en w3schools? También siéntase libre de hacer comentarios sobre cómo puedo formular esta pregunta de manera aceptable.
1: desde los días de NS2.xy IE3.02