HoldenCaulfield1987
01-01-2013, 15:06
Ciao,
sto scrivendo uno script js che deve gestire delle mappe.
Ho una serie di variabili globali che, tramite una funzione, devono essere modificate per impostare il caricamento di una determinata mappa.
Il problema è che nonostante all'interno della funzione le assegnazioni vadano a buon fine (ho stampato i valori aggiornati tramite console.log()) nelle altre funzioni che lavorano queste informazioni i valori restano quelli impostati quando ho dichiarato queste variabili.
Un po' di codice forse spiegherà meglio:
var idMappa = -1;
var paginaPrecedente = null;
function back()
{
console.log("back: " + paginaPrecedente); // stampa null
console.log("back_id: " + idMappa); // stampa -1
//...
}
function setInfo(id, pagina)
{
paginaPrecedente = pagina;
idMappa = id;
console.log("Pagina: " + paginaPrecedente); // stampa correttamente il contenuto dell'argomento pagina
location.href = "maps.html";
}
Quindi:
viene lanciato setInfo che tra le varie operazioni setta i nuovi valori passati come parametri.
Quando poi in seguito viene lanciato back i valori stampati non sono più quelli che setInfo aveva impostato.
Da cosa potrebbe dipendere?
Grazie e buon anno!
sto scrivendo uno script js che deve gestire delle mappe.
Ho una serie di variabili globali che, tramite una funzione, devono essere modificate per impostare il caricamento di una determinata mappa.
Il problema è che nonostante all'interno della funzione le assegnazioni vadano a buon fine (ho stampato i valori aggiornati tramite console.log()) nelle altre funzioni che lavorano queste informazioni i valori restano quelli impostati quando ho dichiarato queste variabili.
Un po' di codice forse spiegherà meglio:
var idMappa = -1;
var paginaPrecedente = null;
function back()
{
console.log("back: " + paginaPrecedente); // stampa null
console.log("back_id: " + idMappa); // stampa -1
//...
}
function setInfo(id, pagina)
{
paginaPrecedente = pagina;
idMappa = id;
console.log("Pagina: " + paginaPrecedente); // stampa correttamente il contenuto dell'argomento pagina
location.href = "maps.html";
}
Quindi:
viene lanciato setInfo che tra le varie operazioni setta i nuovi valori passati come parametri.
Quando poi in seguito viene lanciato back i valori stampati non sono più quelli che setInfo aveva impostato.
Da cosa potrebbe dipendere?
Grazie e buon anno!