PROBLEMA Variabile globale JS che non....varia

Pubblicità

michael92m

Utente Attivo
Messaggi
257
Reazioni
20
Punteggio
53
Buonasera,
sto litigando con una variabile globale in javascript... :grrr: quel che voglio fare in pratica è usare una funzione per assegnare a questa variabile un valore preso da un campo input di una pagina dopodiché, nella pagina successiva, usare un'altra funzione per assegnare un secondo valore preso da un altro campo input ad una variabile locale e confrontarle.

JavaScript:
//dichiaro la variabile globale
var def_pwd_enable="";  


function pwd_set(){
//se viene premuto il tasto "invio" il contenuto del campo input viene salvato
//nella variabile globale dichiarata in precedenza
  var x = event.keyCode;
        if (x == 13) {
         def_pwd_enable = document.getElementById('def_pwd_set').value;
//dopodiché viene aperta la seconda pagina...
    window.open('pagina2.html','_self');
    }  
        }
//... dove per il momento vorrei limitarmi a "stampare" il contenuto della
//variabile globale per verificare che l'operazione si andata a buon fine
function pwd_write(){
document.getElementById("prova").innerHTML = def_pwd_enable;
}

HTML:
<!--pagina 1-->

<body onkeydown="pwd_set()">
    <h1>Inserire password:</h1>
    <br>
  <input type="text" id="def_pwd_set">
</body>

<!--pagina 2-->

<body onload="pwd_write()">
    <p id="prova">prova    </p>
</body>

Su java tempo fà ricordo di aver fatto la stessa identica operazione senza problemi, ma con javascript non riesco a cambiare valore a quella variabile. cosa sbaglio?
 
Ultima modifica:
Nella seconda pagina la variabile ti risulta undefined ?
Dovrebbe essere così perchè una variabile "globale" è comunque sotto lo scope di window di quella pagina.

Quindi la variabile è globale solo per la singola pagina.
 
Ciao di nuovo :hihi:
Si, risulta proprio undefined...
C'è qualche modo per renderla "disponibile" per entrambe le pagine senza ricorrere a php o ad ajax?
 
Missione compiuta! :luxhello: Sto realizzando una sorta di minigioco e, seppur la barra degli indirizzi non sia visibile in quanto la pagina è a schermo intero, col metodo GET ovviamente nell'url compare la password in chiaro. Si possono nascondere i parametri che vengono passati o lascio così ed improvviso una funzioncina per il criptaggio?
 
Ho poi usato il localstorage infatti :rolleyes: Avevo un'altra concezione di variabile globale, che nel caso di Javascript mi han spiegato funzionare solo finché si rimane all'interno della stessa Tab. Grazie ad entrambi per le risposte :)
 
si javascript non è java che puoi creare delle variabili statiche in modo pubblico e poi vederle dalle altre classi.
Con javascript occorre inizializzare quella variabile e passarla alla seconda pagina con query string
oppure salvarla nei cookie e localstorage.
 
Pubblicità
Pubblicità
Indietro
Top