2009-06-29 22 views
10

Questo è per un controllo "Aggiungi al carrello" per il quale uno dei miei colleghi ha progettato una bella grafica. Ovviamente dovrebbe generare una richiesta di posta, che un semplice collegamento ipertestuale non ha intenzione di fare.<button> versus <input type = "image">

Amazon lo raggiunge utilizzando un input di immagine. Ma quali sono i pro ei contro di

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

contro

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

(e usando i CSS per controllare l'aspetto)?

immagino che si riduce a queste domande:

  • fare tutti i browser, grafici e non grafici, riescono nella loro dovere di rendere gli ingressi di immagini tastiera accessibile? (O, nel caso di dispositivi senza tastiera, renderli accessibili con qualsiasi mezzo di ingresso è?)

  • Quali browser sono lì che non supportano <button>?

  • Quali altri vantaggi/svantaggi ci sono di ciascuno?

  • Esistono altri possibili approcci con i propri vantaggi (oltre a dimenticarlo e utilizzare semplicemente un invio semplice)?

risposta

2

Essi dovrebbero essere equivalenti. Per motivi di stile, trovo che i tag dei pulsanti sono più flessibili se cambi le cose in futuro.

Ma: IE presenta un bug/funzionalità in cui il valore di un pulsante o di un input è impostato su uguale a innerHTML. Questo può causare problemi se il tuo codice lato server ha bisogno che questo sia un valore particolare.

A meno che non sia necessaria la flessibilità di stile aggiuntiva di <button>, andare con <input type="image"> in modo da non dover affrontare le stranezze di IE.

+0

Nota a margine: il bug di IE è stato corretto in modalità standard IE8. – scunliffe

+0

Sì, ho notato anche l'errore di IE. Potremmo finire con l'utilizzo di un solo pulsante per modulo, IWC non costituirà un problema. Ma posso vedere la possibilità di lanciare qualcosa nel innerHTML per il codice lato server da rilevare. Ma ''? È un errore di battitura o mi manchi qualcosa? – Stewart

+0

Sì, era un errore di battitura. Scusate. Fisso. – edeverett

0

Tipo di input = "Immagine" supporta l'attributo Disabilitato e il browser visualizzerà l'immagine in grigio. Con Type = Button dovresti fornire un'immagine grigia alternativa.

Problemi correlati