2012-11-22 12 views
5

I tag <button> sono più facilmente stylable degli input e sono davvero a favore dell'utilizzo. Tuttavia temo che possano sorgere alcuni problemi.Utilizzando <button type = "submit"> come sostituto di <input type = "submit"> per inviare moduli, problemi?

Da w3schools: Note: If you use the <button> element in an HTML form, different browsers may submit different values. Use <input> to create buttons in an HTML form.

Ho anche letto che IE ha problemi con questo pulsanti. Sto solo cercando di usarli come una sostituzione per i pulsanti di presentare, ad esempio:

<form> 
<input type="text" name="post"/> 
<button type="submit"> 
</form> 

Saranno in grado di lavorare lo stesso come pulsanti presentare o avrò problemi come browser non supportati o qualsiasi altra cosa?

+3

[Proprio come un suggerimento non fare troppo affidamento su W3Schools ...] (http://w3fools.com/) – DarkAjax

+0

Non è che non sia d'accordo con w3schools qui, ma non dipendo dalle loro informazioni. http://w3fools.com/ – Curt

risposta

2

L'elemento button ha avuto seri problemi con IE, che utilizzava un'implementazione molto danneggiata. Questo rimane ancora una preoccupazione. Secondo MDN page on button, IE 7 è ancora molto rotto in questo senso, inviando dati errati al momento dell'invio.

Ma se la gestione del modulo non dipende dai dati nome = valore risultanti da un elemento button, button type=submit è al sicuro in questi giorni. Ad esempio, se nel modulo è presente un solo pulsante di questo tipo, probabilmente non utilizzeresti comunque la coppia nome = valore per qualcosa.

+0

Quindi, in pratica, se non utilizzo il nome e l'attributo value s (che non intendo utilizzare) è ok per IE7? – lisovaccaro

+0

@ Liso22, giusto. –

1

Non ho riscontrato alcun problema di IE con uno <button type="submit"> e, peggio, è sempre possibile associarlo a un gestore di eventi onclick.

A <button> deve essere sicuro da usare.

Come nota finale: w3schools è un sito errato e fuorviante. Non dovresti usarlo come riferimento per qualsiasi tipo di lingua. Per PHP, c'è lo PHP Manual, per JavaScript, c'è Mozilla Developer Network (or MDN). Vedere http://w3fools.com per capire meglio perché non si dovrebbe mai usare w3schools.

+0

Grazie, quindi in pratica funzionerà su tutti i browser, va bene? Dal momento che è rivolto ai giovani, non penso che l'IE7 o la proporzione più vecchia sarà troppo grande, ma preferirei supportarla – lisovaccaro

+0

@ Liso22: Sì, funzionerebbe. –

-1

Se si utilizza

 

    <input type="submit" name="whatever" /> 
 

si può essere certi che funziona come bene come il pulsante di controparte; non avrai alcun problema di incompatibilità con il browser.
Ed è ugualmente stylable.

Spero che questo aiuti.

+3

Non è ugualmente stylable. Non supporta: prima e dopo, poiché non ha alcun contenuto interno. Inoltre alcuni browser ignorano lo stile dei pulsanti di invio come il safari di iOS. So che posso usare ma voglio sapere delle conseguenze dell'uso di

Problemi correlati