2012-08-01 24 views
5

Tengo un formulario con dos botones, uno input[type=submit] y uno simple button que es el botón cancelar.Haga clic en evento en botón se activa al enviar un formulario con enter

que tienen dos controladores de eventos, uno con destino a la form en submit y uno con destino a la button en click.

Cuando envío el formulario presionando Intro en una entrada, el evento de clic en el botón se dispara (y antes del evento de enviar podría agregar), ¿por qué es esto?

Esto ocurre tanto en gecko como en webkit.

Aquí está un ejemplo de trabajo: http://jsfiddle.net/q3JPR/

Si envía pulsando la tecla ENTER quiero presentar el evento para disparar, no el evento click.

+0

Esto también pasa a mí, he pasado más o menos una hora buscando el todo web y no ha encontrado ninguna documentación para este comportamiento, avíseme si encontró algo. – asumaran

Respuesta

4

Si cambia de botón para ser <input type="button"... a continuación, sus eventos se comportarán adecuadamente ... aquí es el violín:

Working Fiddle

+0

Funciona, ¿tiene alguna idea de por qué sucede esto? –

+3

@NicklasA. El comportamiento se describe aquí: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html - los botones en los formularios se envían por defecto y deben especificarse cuidadosamente si no se supone que suceda –

+0

Buen enlace @AndrewLeach –

Cuestiones relacionadas