Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    categoria in base a età

    con questo script inviatomi originariamente da DINAMIC+
    ottengo dinamicamente i valori di un select in base all'età inserita nel campo "datan" in un form ..tutto nella stessa pagina.
    codice:
      <html>
    
        <head>
          <script type="text/javascript" language="JavaScript">
          <!--
    
            function generateCategory( __hForm )
            {
              var _bornDate  = __hForm.elements["date"].value;
              var _dateToken = _bornDate.match( /^(\d{2})\/(\d{2})\/(\d{4})$/ );
    
              if ( _dateToken == null ||
                   _dateToken[1] < 01   || _dateToken[1] > 31 ||
                   _dateToken[2] < 01   || _dateToken[2] > 12 ||   
                   _dateToken[3] < 1900 || _dateToken[3] > 2005 ) 
              {
                __hForm.elements["category"].options.length = 0;
                return false;
              }
    
              else {
                var _curDate = new Date( );
                var _typDate = new Date( _dateToken[3], _dateToken[2]-1, _dateToken[1] );
                var _gotAge  = parseInt( (_curDate.getFullYear() + _curDate.getMonth() / 100 + _curDate.getDate() / 10000 ) -
                                         (_typDate.getFullYear() + _typDate.getMonth() / 100 + _typDate.getDate() / 10000 ) );
    
    
                if ( _gotAge >= 18 && _gotAge <= 28 ) {
                  with ( __hForm.elements["category"] )
                  {
                    options.length = 0;
                    options[options.length] = new Option( "Membro Junior", "junior", false, false );
                    options[options.length] = new Option( "Membro Super", "super", false, false );
                  }
    
                  return true;
                }
    
                else if ( _gotAge >= 29 && _gotAge <= 40 ) {
                  with ( __hForm.elements["category"] )
                  {
                    options.length = 0;
                    options[options.length] = new Option( "Membro Senior", "senior", false, false );
                    options[options.length] = new Option( "Membro Super", "super", false, false );
                  }
    
                  return true;
                }
    
                else {
                  with ( __hForm.elements["category"] )
                  {
                    options.length = 0;
                    options[options.length] = new Option( "Non puoi diventare membro", "invalid", false, false );
                  }
    
                  return false;
                }
              }
            }
    
          //-->
          </script>
        </head>
    
        <body>
    
          <form>
            Data:
    
            <input type="text" name="date" value="gg/mm/aaaa" maxlength="10" onkeyup="generateCategory( this.form );" />
    
    
    
            Categoria:
    
            <select name="category"></select>
          </form>
    
        </body>
    
      </html>
    lo script funziona egregiamente ma facendo il submit (nel mio caso ad una pagina php) e tornando indietro con un semplice javascript:history.back(); non vengono mantenute le opzioni elaborate, l'utente che per qualsiasi problema (errore di completamento ecc..) fa un back alla pagina precedente è costretto a riselezionare l'opzione del select. è possibile evitare cio' ?
    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` sempre il solito problema (ricorre ripetutamente, per cui dovresti fare una ricerca nel forum).
    Si puo` ovviare solo con sistemi lato server oppure cookie.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    già fatta una ricerca... del resto è difficile anche cercare il termine giusto di ricerca per questo problema.

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.