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

    Funzioni, eventi e variabili

    Io creo una variabile globale (o almeno credo)

    dentro una funzione modifico il suo valore.

    Mi sapete dire perchè se io chiamo direttamente la funzione tutto ok, se invece la chiamo tramite un evento (es onload o onclick) la mia variabile viene cambiata solo localmente.

    Non so o come l'impressione che mi stia sfuggendo un concetto base di javascript, in fondo è uno dei miei primi script con tale linguaggio

    Grazie per ogni aiuto

  2. #2
    sarebbe utile che postassi il codice che stai utilizzando.

    ciao

  3. #3
    Il codice su cui stò facendo i tentativi è questo. E' un esempio che c'è nella guida "Guida JavaScript per esempi ". Ho spostato la chiamata della funzione dentro al comando onload

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Corso JavaScript ad esempi</title>
    
    <script type="text/javascript">
    prova = new Array();
    var scritta2 = ''
    var scritta3 = '';
    function saluta() {
     //inizalizzo le variabili all'interno delle funzioni
     scritta2="ciao";
     scritta3="prova scrittura";
     prova[0] = "DDD";
    }
    
    
    </script>
    
    </head>
    <body onload="saluta()" >
    
    <script type="text/javascript">
    // saluta(); vecchia chiamata della funzione
    alert(scritta2); //faccio riferimento alla variabile creata nella funzione
     document.write(scritta3);
     document.write(prova[0]);
    </script>
    
    </body>
    </html>

  4. #4
    prova cosi':

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Corso JavaScript ad esempi</title>
    
    <script language="JavaSCript">
    var prova = new Array(1);
    var scritta2 = 'pinoz';
    var scritta3 = '';
    function saluta() {
     //inizalizzo le variabili all'interno delle funzioni
     scritta2="ciao";
     scritta3="prova scrittura";
     prova[0] = "DDD";
     alert(scritta2);
    }
    
    
    </script>
    
    </head>
    <body onload="saluta()" >
    
    <script language="JavaSCript">
    // saluta(); vecchia chiamata della funzione
     alert(scritta2); //faccio riferimento alla variabile creata nella funzione
     document.write(scritta2);
     document.write(prova[0]);
    </script>
    
    </body>
    </html>
    considera che il blocco script inglobato nel body viene eseguito prima della invocazione di saluta associata all'onload della pagina.

    ciao

  5. #5
    Grazie tante, mi hai illuminato su quale è il mio problema. VVoVe:

    Il parametro lo cambiava ma non lo vedevo mai perchè stampava sempre prima di cambiarlo...

    Grazie ancora

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 © 2024 vBulletin Solutions, Inc. All rights reserved.