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

    [JS] Primo script non funziona

    Salve ragazzi. in primo luogo chiedo scusa<per il titolo del 3d ma non ho la minima idea di cosa scriverci visto che non ho dimestichezza con gli errori di js.

    Allora, ho letto la guida sul js su html ed ho provato a creare il mio primo script. La sua funzione è molto semplice: il css imposta di default la proprietà display a none. lo script, poi, cliccando sui link appositi, cambia la proprietà dei vari div per mostrarne solo uno (sono form per inserire dati in varie lingue).
    inutile che tenti di spiegarvi quale sia l'errore perchè non ne ho la minima idea! Nè so se l'approccio è sato corretto forse dovrei inserire una var che memorizzi l'elemento correntemente visualizzato per poi cambiarne la proprietà quando l'elemento da visualizzare cambia. Cmq, adesso vi posto il codice e vediamo un po' come fare. Cmq la base dello script l'ho presa proprio dalla guida che ho letto!
    Grazie mille per l'aiuto! Ciao!

    edit: mi ero dimanticato il codice!
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    
    <html> 
    <head> 
    
       <STYLE TYPE="text/css"> 
       .lang { 
            position:absolute; 
            background-color:orange; 
           width:300px; 
           height:20px; 
           border:1px; 
           display: none ;
        } 
       </STYLE> 
    
    <SCRIPT TYPE="text/javaScript"> 
    
    function inizialize()
            { 
              if ( document.all )
    			{ 
                   doc = "document.all" ;
                   parA = "[\"" ; 
                   parB = "\"]" ; 
                   visibility = ".style.display" ; 
                } 
              else if ( document.layers )
    		    { //NN4 
                   documento = "document.layers" ; 
                   parA = "[\"" ;
                   parB = "\"]" ;
                   visibility = ".display" ;
                } 
              else if ( document.getElementById )
    			{ // Opera e NN6 
                   documento="document.getElementById"; 
                   parA="(\""; 
                   parB="\")"; 
                   visibility=".style.display"; 
                }
            }
    
    function showLang(lang)
            { 
               //istruzione identica alla precedente, soltando che rende visbile   
               eval ( doc + parA + lang + parB + visibility + ' = block ;' ) ; 
            }
    
    inizialize(); //lancio la funzione che inizializza le variabili
    showLang( 'it' ) ;
    </SCRIPT> 
    
    </head> 
    
    <body> 
    
     
    it - en - fr
    
    
    
     
    <DIV id="it" class="lang">
    
    
    
    
    </DIV>
    <DIV id="en" class="lang">
    
    
    
    
    </DIV> 
    <DIV id="fr" class="lang">
    
    
    
    
    </DIV> 
    
    </body> 
    </html>
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #2
    Ok, ragazzi, dopo un po' di prove sono riuscito a creare il mio primo script. Rimane ora il problema della compatibilità. Questo è quello che sono riuscito a fare:

    codice:
    // creo l'array delle lingue
    langs = new Array("it" , "en" , "fr") ;
    
    function showLang(id)
            {
              for ( i = 0 ; i < langs.length ; i++ )
    		      {
    		         if ( langs[i] == id )
    				   {
    			          document.getElementById(langs[i]).style.display="block";
    					  
    			       }
    				 else
    				   {
    			          document.getElementById(langs[i]).style.display="none";
    					  
    			       }
    		      }
    		}
    Funziona correttamente.

    Ora, però, dovrei inserire il codice per la compatibilità dello script con i vari browser.

    Questo è quello che ho fatto:

    codice:
    // creo l'array delle lingue
    langs = new Array("it" , "en" , "fr") ;
    
    function showLang(id)
            {
    		  if ( document.all )
    			{ 
                   doc = "document.all" ;
                   parA = "[" ; 
                   parB = "]" ; 
                   visibility = ".style.display" ; 
                } 
              else if ( document.layers )
    		    { //NN4 
                   documento = "document.layers" ; 
                   parA = "[" ;
                   parB = "]" ;
                   visibility = ".display" ;
                } 
              else if ( document.getElementById )
    			{ // Opera e NN6 
                   documento="document.getElementById"; 
                   parA="("; 
                   parB=")"; 
                   visibility=".style.display"; 
                }
    		   for ( i = 0 ; i < langs.length ; i++ )
    		      {
    		         if ( langs[i] == id )
    				   {
    			          eval ( doc + parA + langs[i] + parB + visibility + ' = "block" ;' ) ; 
    			       }
    				 else
    				   {
    			          eval ( doc + parA + langs[i] + parB + visibility + ' = "none" ;' ) ;
    			       }
    		      }
    		}
    Purtroppo non funziona. Mi dà questo errore:

    'document.all[...].style' è nullo o non è un oggetto

    Quelcuno sa dirmi come funziona questa cosa! E' la prima volta che uso js e non sono molto pratico! Grazie mille! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.