Come faccio a settare il fuoco su un campo di testo?

Utente HTML.it
chiede

Come faccio a settare il fuoco su un campo di testo?

Redazione HTML.it
risponde

Per settare il fuoco in un campo di testo di input, si usa il metodo setFocus dell’oggetto Selection:

Selection.setFocus(identificatore);

dove identificatore è il nome della variabile associata al campo di testo.

Ad esempio, nel primo frame del nostro filmato inseriamo un campo di input al quale associamo la variabile “nome”. Per passargli il fuoco, nel pannello Actions scriveremo:

Selection.setFocus (“nome”);

Se però il filmato stesso non ha il fuoco (e non ce l’ha finchè non ci si clicca sopra), nel campo di testo apparirà sì il cursore, ma non sarà possibile digitarvi alcunchè.

Per questo motivo, una pratica molto consigliata è quella di inserire nel filmato un pulsante, prima di accedere ad una sezione dove sia presente un campo di testo di input. L’utente clicca sul pulsante, passando il fuoco al filmato, e quando viene eseguito il Selection.setFocus, appare il cursore nel campo di input, ed è subito possibile l’inserimento del testo.

Un altro sistema per passare il fuoco al filmato, è l’utilizzo di una funzione Javascript, che fa riferimento all’ID del filmato (in blu le parti rilevanti):

<html>
<head>
<title></title>
<script language=”JavaScript”>
<!–
function fuoco(){
    var IE = navigator.appName.indexOf(“Microsoft”)
!= -1;
    var filmato = IE ? window.filmato : window.document.filmato;
    filmato.focus();
}
//–>
</script>
</head>
<body onLoad=”fuoco()”>
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″

 codebase=”[…]” width=400 height=300 id=”filmato”>
<param name=movie VALUE=”Movie1.swf”>
<param name=quality VALUE=high>
<param name=bgcolor VALUE=#CCCCCC>
<embed src=”Movie1.swf” name=”filmato”
swLiveConnect=”true”
 quality=high bgcolor=#CCCCCC width=400 height=300
 TYPE=”application/x-shockwave-flash” PLUGINSPAGE=”[…]”>
</embed>
</object>
</body>
</html>