Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Focus automatico

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    15

    Focus automatico

    Salve a tutti,
    ho un form con un normale campo testo;
    avrei la necessità che, digitando un qualsiasi tasto della tastiera, il focus si posizioni sul campo di testo riportando all'interno del campo stesso il carattere digitato dalla tastiera.
    Mi spiego meglio:
    anche se il focus non è nel campo di testo se con la tastiera digito, ad esempio, "giovanni" quanto digitato mi appaia all'interno del campo testo del form.
    Ringrazio anticipatamente chi vorrà aiutarmi.

  2. #2
    Stringato stringato:
    codice:
    <html>
    <head>
    <script type="text/javascript">
    function goToField() {
        document.getElementById("laForm").campo.focus();
    }
    </script>
    </head>
    <body onkeydown="goToField();">
    <form id="laForm">
    <input type="text" name="campo" />
    </form>
    </body>
    </html>
    Per iniziare...

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    15
    Grazie mille Zappa!
    ho testato il tuo script e funziona alla grande, soltanto che io ho omesso, stupidamente, un piccolo particolare:
    avendo la necessità di spostarmi, all'interno della pagina (dove vi sono dei link), con il tasto tab sarebbe eccezzionale se lo script svolgesse la sua funzione solo digitando tasti alfanumerici e non qualsiasi tasto della tastiera.
    Infatti lo script che hai postato non mi permette di muovermi all'interno della pagina con il tabulatore.
    Ringraziandoti nuovamente ti sarei grato se potessi darmi un'ulteriore dritta

  4. #4
    per continuare ...
    codice:
    <html>
    <head>
    <script type="text/javascript">
    function goToField(e) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
    var strkey = String.fromCharCode(KeyID);    
    
    var r=/([a-zA-Z0-9])+/g;
        if (r.test(strkey)) {
            document.getElementById("laForm").campo.focus();
        }
    }
    if (document.layers || (document.getElementById && !document.all))
        document.captureEvents(Event.KEYPRESS);
    document.onkeydown=goToField;
    window.onkeydown=goToField;
    </script>
    </head>
    <body>
    <form id="laForm">
    <input type="text" name="campo" />
    </form>
    link numero uno
    
    link numero due
    
    </body>
    </html>
    provato su IE6, IE7, Firefox
    Per Opera occorre fare qualcos'altro, perch&egrave; non funziona.
    Non ho molto tempo per cercare perch&egrave;

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    15
    Grazie mille Zappa,
    a buon rendere

  6. #6
    Prego!
    non c'è problema!
    Quando si può, si fa!


    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.