2009-06-29 26 views
10

Esto es para un control de "Agregar a la cesta" para el cual uno de mis colegas ha diseñado un buen gráfico. Obviamente, debe generar una solicitud posterior, que un hipervínculo simple no va a hacer.<button> versus <input type = "image">

Amazon lo logra utilizando una entrada de imagen. Pero ¿cuáles son los pros y los contras de

<input type="image" src="atb.png" alt="Add to Basket" /> 

frente

<button type="submit"><img src="atb.png" alt="Add to Basket" /></button> 

(y el uso de CSS para controlar la apariencia)?

supongo que se reduce a estas preguntas:

  • ¿Todos los navegadores, gráficas y no gráficas, tener éxito en su deber de hacer entradas imagen accesible desde el teclado? (O, en el caso de dispositivos sin teclado, hacerlos accesibles por cualquier medio de entrada que sea?)

  • ¿Qué navegadores existen que no son compatibles con <button>?

  • ¿Qué otras ventajas/desventajas hay de cada uno?

  • ¿Hay algún otro enfoque posible con sus propias ventajas (además de olvidarlo y simplemente usar un envío simple)?

Respuesta

2

Ellos deben ser equivalentes. Por motivos de diseño, creo que las etiquetas de botones son más flexibles si cambia las cosas en el futuro.

Pero: IE tiene un error/función donde el valor de un botón o entrada se establece para igualar el innerHTML. Esto puede causar problemas si su código del lado del servidor necesita que este sea un valor particular.

A menos que necesite la flexibilidad adicional de estilo <button> ir con <input type="image"> por lo que no es necesario para hacer frente a las peculiaridades de IE.

+0

Nota al margen: El error de IE se ha corregido en IE8 Standards Mode. – scunliffe

+0

Sí, he notado que IE también falla. Podemos terminar usando solo uno de estos botones por formulario, IWC esto no será un problema. Pero puedo ver la posibilidad de arrojar algo en el innerHTML para detectar el código del lado del servidor. Pero ''? ¿Es esto un error tipográfico o me falta algo? – Stewart

+0

Sí, fue un error tipográfico. Lo siento. Fijo. – edeverett

0

Tipo de entrada = "Imagen" es compatible con el atributo Deshabilitado y el navegador se grisá la imagen para usted. Con Type = Button tendrías que proporcionar una imagen gris alternativa.

Cuestiones relacionadas