2010-08-04 9 views
6

Este error/característica surgió en una de mis páginas cuando se ve en Google Chrome PRESENTAR Así que escribí una página de prueba que se parece a esteGoogle Chrome somete formar incluso si no hay botón de

<body> 
<form action="loginhandler.php"> 
     <input type="text" id="name"> 
     <input type="text" id="lastname"> 
     <input type="button" value="Login"> 
</form> 
</body> 

Aquí usted puede ver, el tipo de entrada NO es de tipo enviar. Entonces, si presiona ENTER KEY en IE, Firefox, Opera, no pasa nada y ese es el comportamiento esperado. Pero si presiona enter en chrome, se SOMETE independientemente de si el tipo de entrada es enviado o no.

Mi pregunta, esta es una característica/error por defecto de Chrome o estoy haciendo algo mal aquí. ?

Respuesta

3

Ni siquiera Chrome, la mayoría de los navegadores envían una vez que presionas enter (incluso cuando no hay botón de enviar) cuando el cursor está en la entrada.

+0

Probé el código anterior, no pasa nada en Firefox, IE, opera . – Uday

+1

Déjame saber qué versión de IE estás usando? Ahora estoy usando IE7, extrañamente se envía cada vez que presiono "enter" cuando coloco el cursor en el cuadro de entrada. – ppshein

7

Para citar sección 4.10.21.2 de la especificación de HTML 5:

"Si el formulario se presentará ningún botón, entonces el mecanismo de presentación implícita debe simplemente presentar el elemento del formulario de el elemento propio formulario. "el elemento de formulario en sí."

por lo tanto creo que el comportamiento de cromo sea correcta, aunque creo que otros navegadores que hacer eso también. Usted puede coger/block/formulario de presentación de proceso mediante la escucha de la "submit" (por ejemplo, para bloquearlo) event.Blockqu oteBlockquotethe el elemento de formulario en sí mismo ".

0

Tengo el problema opuesto. Yo uso js-elemento personalizado para mi formulario y cuando uso style='dispay:none;' para el botón de enviar, Chrome no envía formulario en la entrada, aunque, firefox hace :(

Cuestiones relacionadas