Trasferire dati di una variabile globale

Francesco Monti

Utente Attivo
12 Feb 2016
35
0
0
Ciao a tutti, ho un programma formato da qualche pagina HTML in cui sono contenuti codici javascript. Il problema è che ho dichiarato una variabile globale in un foglio, e quando vado per richiamarla in un'altra pagina mi da che è completamente vuota. Premetto che l'ho dichiarata globale in un foglio HTML e non in un file .JS esterno.
Qualcuno saprebbe aiutarmi?
 
ciao
non sono molto esperto in js, ma credo che le varibili globali di js possano essere viste si all'interno di varie funzioni, ma solo nella stessa pagina, se cambi pagina il valore si perde.
probabilmente se devi passare i valori di una variabile da una pagina ad un altra devi ricorrere ad un linguaggio dinamico lato server (es. php)
altra soluzione (se non dico put...te) puo essere creare un cookie con js e andare a leggerlo nella pagina che richiami
 
Ho appena seguito la guida grazie, solamente mi trovo in difficoltà perchè io nei cookies voglio salvare numeri e non stringhe. Qualche consiglio?
 
ciao
prova con eval()
ho trovato in rete questo esempio, modificando la var x in stringa
HTML:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to evaluate/execute JavaScript code/expressions.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
    var x = "10";
	var x = eval(x);
    var y = 20;
    var a = eval("x * y") + "<br>";
    var b = eval("2 + 2") + "<br>";
    var c = eval("x + 17") + "<br>";

    var res = a + b + c;
    document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>
output
giusto anche se 10 è una stringa
 
Ciao, ho provato ed ho impostato il codice così:
Codice:
 scriviCookie("j", "0");
    scriviCookie("c", "0");
    var j = leggiCookie(j);
    var c = leggiCookie(c);
    var j = eval(j);
    var c = eval(c);

    var riepvet = new Array();
    function controllo() {
        
        if ((src1 == "") || (src1 == "undefined")) {
            alert("Selezionare un'immagine.");
        }
        else if(eval("j == 0")) {
            riepvet[eval(c)] = src1;
            eval(c++);
            for (var k = 0; k < c; k++) {
                alert(riepvet[k]);
            }
            location.href = "schienale.html";
            eval(j++);
            
        }
        else if (eval("j==1")){
            riepvet[eval(c)] = src1;
            c++;
            for (k = 0; k < c; k++) {
                alert(riepvet[k]);
            }
            location.href = "riep.html";
            eval(j++);
        }    
}

Il problema è che non funziona! Dove sbaglio?
 
Qualcuno che sappia aiutarmi? Ho letto che i cookies in javascript non sono gestiti in maniera ottimale, sarebbe quindi meglio utilizzare il local storage, voi che dite?
 
Ciao, se non hai ancroa risolto puoi provare con il webstorage di html5 , molto semplice
Codice:
 if (localStorage.valore) {
        alert("valore prente : " + localStorage.valore);
    } else {
        localStorage.valore = 100;
        alert("valore inserito Aggiorna")
    }
edit
non avevo visto il tuo ultimo messaggio. si molto meglio.
 

Discussioni simili