2010-08-23 26 views
7

Tengo un formulario con dos botones. El primero está oculto usando Javascript.Entrar no envía formulario en IE debido al botón oculto

Cuando presiono enter en un campo de texto en IE, el formulario no se envía. Supongo que es porque ha elegido el primer botón como botón de envío predeterminado, pero como ese botón está oculto, no funciona.

Lo he resuelto enviando el formulario en un evento enter keydown Javascript. Sin embargo, esto también envía el formulario si el usuario presiona ingresar para seleccionar un elemento del menú desplegable de autocompletar del navegador.

example autocomplete dropdown

¿Cómo envío del formulario a entrar en IE, sin alterar la funcionalidad de autocompletar?

+0

¿por qué tiene un botón oculto? –

+0

Cuando Javascript está activado, el formulario se envía automáticamente cuando un usuario selecciona un valor de un cuadro de lista y el botón está oculto. Cuando Javascript está desactivado, el usuario puede usar el botón para enviar el formulario después de seleccionar un valor. – Sjoerd

+0

Las respuestas a estas preguntas me parecen una idea maravillosa del desarrollo web práctico ... – Sebastian

Respuesta

5

Tuvimos un problema similar hace unos años, y AFAIR, agregamos un botón adicional al principio del formulario, que siempre realiza la acción de envío predeterminada cuando se presiona enter en IE. Ese botón puede estar "casi oculto" al darle una imagen transparente de 1x1.

0

Puede agregar botón adicional para retener presentar la funcionalidad del botón en la siguiente forma:

<![CDATA[<!--[if IE]>]]> 
       <input type="text" style="display: none;" disabled="disabled" size="1" /> 
      <![CDATA[<![endif]-->]]> 
10

Try botón con la clase siguiente para ocultar:

.hidden-element { 
    width: 0px; 
    height: 0px; 
    position: absolute; 
    top: -99999px; 
    left: -99999px; 
} 
+0

Es un poco tarde para agregar una respuesta a una publicación de un año, mientras que ya hay una respuesta aceptada. – Charlie

+4

@Charlie No estoy de acuerdo . Otras personas pueden encontrar útil este comentario en particular. – Vic

+0

Primera solución de trabajo para IE6 ... –

5

me fijo por la opacidad 0 como:

<input type="submit" style="width: 0px; height: 0px; opacity: 0;" id="submitBtn" name="submitBtn"> 
Cuestiones relacionadas