Aiuto per un form

di Anonimizzato29534 il
1 risposte
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

  • 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