Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Da un campo del form all'altro

    Ciao!

    Ho una curiosità su dei input text controllati con javascript:

    E' possibile che digitando il massimo dei caratteri possibili il focus si sposti in automatico nell'input text successivo?

    Per ora faccio questo usando il tasto tab, muovendomi con i tabindex assegnati in ciascun input text in sequenza e con un maxlenght assegnato ad ogni campo del form.

    Mi piacerebbe saltare il tasto tab e/o il click del mouse sul campo successivo.

    Dite che si può fare?

    Qui trovate l'esempio col quale stavo pasticciando:
    Scheda inserimento dati

  2. #2
    nessuna idea?

  3. #3
    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    
      <!DOCTYPE html 
         PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
        <head>
          <title>Code Example by DYNAMIC+</title>
    
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <meta http-equiv="Content-Language" content="en-us" />
    
          <script type="text/javascript">
          <!--
    
            function getNextItem( __objThis, __objItem, __cbMaxLength )
            {
              if ( __objThis.value.length >= __cbMaxLength )
                __objThis.form.elements[__objItem].focus( );
            }
    
          //-->
          </script>
    
        </head>
        <body>
    
          
    
    
            <form>
              <input type="text" name="primo" onkeyup="getNextItem( this, 'secondo', 6 );" />
              <input type="text" name="secondo" />
            </form>
          </p>
    
        </body>
      </html>
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    <input ... onkeyup="if(this.value.length>=3) this.form.NOMECAMPO.focus();">

    dove NOMECAMPO e` il nome del campo che vuoi che riceva il focus
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Grazie ragazzi ^____^

    chissà perchè ma non pensavo proprio a catturarmi il keyup!

    Ho deciso di mettere tutto nella funzione js come suggerito da Dinam!C+
    così:

    function goNext (campo, prox, mis) {

    if (campo.value.length >= mis) {

    if (isNaN(campo.value)) {
    alert("Attenzione! inserire solo caratteri numerici");
    } else {
    campo.form.elements[prox].focus();
    }
    }

    }
    E il richiamo nel form così:

    <input type="text" name="ipN_1" id="ipN_1" size="3" maxlength="3"
    value="" class="ipSx" tabindex="10"
    onkeyup="goNext(this,'ipN_2', 3);">
    Decisamente utile nella compilazione dei moduli complessi.

  6. #6
    Se interessa il codice sorgente ho lasciato l'esempio corretto on line

    al seguente link

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.