L’elemento button: submit, reset e button
Attivare l’invio o il reset del form oppure azioni personalizzate con i pulsanti
L’elemento button: submit, reset e button è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.
L'elemento button
L'elemento <button> è il modo principale per creare controlli cliccabili:
<button type="submit">Submit</button>
<button type="reset">Clear Form</button>
<button type="button">Do Something</button>
<!-- Three types, each with a different default behavior -->
<!-- Always specify type — the default is submit inside forms -->type=submit
type="submit" invia il modulo quando viene selezionato:
<form action="/register" method="post">
<input type="email" name="email">
<button type="submit">Create Account</button>
</form>
<!-- Triggers form validation, then sends the form data -->
<!-- Also triggered by pressing Enter in most text inputs -->type=reset
type="reset" cancella tutti i campi del modulo e li ripristina ai valori predefiniti:
<form>
<input type="text" name="name" value=""> <!-- empty default -->
<input type="number" name="qty" value="1"> <!-- default: 1 -->
<button type="reset">Clear</button>
</form>
<!-- Clicking reset restores qty to 1 and clears name -->
<!-- Use sparingly — users often accidentally reset forms -->type=button
type="button" non esegue alcuna azione per impostazione predefinita — occorre collegarvi JavaScript:
<button type="button" id="toggle-theme">Toggle Dark Mode</button>
<script>
document.getElementById('toggle-theme').addEventListener('click', () => {
document.body.classList.toggle('dark');
});
</script>
<!-- type="button" prevents accidental form submission
Always use this for non-submit buttons -->button rispetto a input[type=submit]
È preferibile usare <button> rispetto a <input type="submit">:
<!-- Old way (limited): -->
<input type="submit" value="Submit">
<!-- Modern way (flexible — can contain HTML): -->
<button type="submit">
<svg><!-- icon --></svg>
Submit Form
</button>
<!-- button can contain icons, emphasis, and any inline HTML
input type=submit can only have plain text via the value attribute -->Pulsante disabilitato
Disabilitare un pulsante con l'attributo disabled:
<button type="submit" disabled>Submit</button>
<!-- Disabled buttons:
- Cannot be clicked
- Not in tab order
- NOT submitted with the form
- Browser renders them grayed out -->
<!-- Enable/disable with JavaScript: -->
btn.disabled = true;
btn.disabled = false;Schema dello stato di caricamento
Mostrare lo stato di caricamento durante l'invio di un modulo:
<button type="submit" id="submit-btn">
<span id="btn-text">Submit</span>
<span id="btn-spinner" hidden aria-hidden="true">⏳</span>
</button>
<script>
form.addEventListener('submit', () => {
document.getElementById('submit-btn').disabled = true;
document.getElementById('btn-text').textContent = 'Submitting...';
document.getElementById('btn-spinner').hidden = false;
document.getElementById('btn-spinner').removeAttribute('aria-hidden');
});
</script>Override di formaction e formmethod
Sovrascrivere l'azione o il metodo del modulo per un pulsante specifico:
<form action="/save" method="post">
<input type="text" name="title">
<!-- Save: uses form defaults -->
<button type="submit">Save Draft</button>
<!-- Publish: overrides action and method -->
<button type="submit" formaction="/publish" formmethod="post">
Publish Now
</button>
</form>Pulsante con ARIA
I pulsanti personalizzati richiedono ARIA se hanno un aspetto diverso dai pulsanti nativi:
<!-- Icon-only button -->
<button type="button" aria-label="Close dialog">
<svg aria-hidden="true"><!-- X icon --></svg>
</button>
<!-- Toggle button -->
<button type="button" aria-pressed="false" id="bold-btn">
Bold
</button>
<script>
document.getElementById('bold-btn').addEventListener('click', function() {
const pressed = this.getAttribute('aria-pressed') === 'true';
this.setAttribute('aria-pressed', !pressed);
});
</script>Procedure consigliate per l'accessibilità dei pulsanti
Elenco di controllo per l'accessibilità dei pulsanti:
- Specificare sempre
type— non fare mai affidamento sul valore predefinito - Usare
aria-labelper i pulsanti composti solo da icone - Usare
aria-pressedper i pulsanti di attivazione - Per i pulsanti disabilitati, valutare l'uso di
aria-disabled="true"+ JavaScript per mantenerli focalizzabili - Non usare mai
<div>o<span>come pulsanti
Area di clic e target tattili
I pulsanti devono avere un'area di tocco sufficientemente ampia per gli utenti che usano dispositivi touch:
button {
min-height: 44px; /* Apple HIG minimum */
min-width: 44px; /* WCAG 2.5.5 (AAA) recommends 44x44 -->
padding: 0.5rem 1rem;
cursor: pointer;
}
/* Increase tap area without changing visual size: */
button {
position: relative;
}
button::before {
content: '';
position: absolute;
inset: -8px;
}Verifica rapida
Che cosa succede se si omette l'attributo type da un pulsante all'interno di un modulo?
Riepilogo: elemento button
Elementi essenziali dei pulsanti:
type="submit"— invia il modulotype="reset"— ripristina tutti i campi ai valori predefinititype="button"— nessun comportamento predefinito; occorre collegarvi JavaScript- Specificare sempre type — il valore predefinito è submit
- Preferire
<button>a<input type="submit"> - Usare
aria-labelper i pulsanti composti solo da icone
Impara HTML con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 40
- Lezioni
- 159
Domande Frequenti
La lezione «L’elemento button: submit, reset e button» è gratuita?
Sì — il testo completo di «L’elemento button: submit, reset e button» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.
Cosa imparerò in «L’elemento button: submit, reset e button»?
Attivare l’invio o il reset del form oppure azioni personalizzate con i pulsanti Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare HTML Academy?
Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «L’elemento button: submit, reset e button»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione HTML Academy?
Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- L’elemento form: action, method ed enctype
- Tipi di input: text, password, email, number e tel
- L’elemento label e l’accessibilità
- L’elemento button: submit, reset e button