Aiuto per un form

di il
1 risposte

Aiuto per un form

Ho creato un form con degli input ma ho bisogno di scrivere dentro la barra di input senza doverla schiacciare con il mouse ma direttamente dalla tastiera e la stessa cosa per il submit utilizzando il tasto enter della tastiera, qualcuno conosce dei codici per farlo?
Grazie in anticipo

1 Risposte

  • Re: Aiuto per un form

    Ciao Ivan,
    Per far questo genere di cose è necessario usare Javascript.
    Il metodo che ti consiglio è quello di impostare il "focus" sulla casella di testo appena si apre la pagina, aggiungendo poi un listener sempre sulla casella per controllare quando viene premuto il tasto "Enter".

    Mettiamo che nel tuo html hai assegnato l'id "text-input" alla casella di testo e l'id "submit-button" al bottone:
    
    window.addEventListener("load", function () {
    
    	// Prendi un riferimento alla casella di testo
    	let input = document.getElementById("text-input");
    	
    	// Metti a fuoco la casella di testo
    	input.focus();
    	
    	// Aggiungi un listener che verrà eseguito quando l'utente preme dei tasti mentre è sulla casella
    	input.addEventListener("keyup", function (e) {
    	
    		// Se ha premuto il tasto "Enter"
    		if (e.key === 'Enter' || e.keyCode === 13) {
    		
    			// Fai un click sul bottone
    			document.getElementById("submit-button").click();
    		}
    	});
    }
    
    Questo codice, comunque, consente all'utente di cliccare all'esterno della casella di testo, perdendo il focus.
    Per evitare questa possibilità, puoi catturare direttamente gli eventi che arrivano all'oggetto "window", ma il tuo sito avrebbe a questo punto grossi problemi di accessibilità.
Devi accedere o registrarti per scrivere nel forum
1 risposte