+ Rispondi alla Discussione
Risultati da 1 a 9 di 9

Sopravvivenza variabile javascript dopo refresh

Ultimo Messaggio di bulbius il:
  1. #1
    User
    Data Registrazione
    Aug 2007
    Messaggi
    10

    Sopravvivenza variabile javascript dopo refresh

    Salve ragazzi, ho il seguente problema:

    ho bisogno di una variabile in javascript che mi sopravviva anche dopo un refresh della pagina.

    Insomma io dichiaro una variabile globale x=calcola_valore();

    Il valore di questa variabile mi serve dopo che stato effettuato un refresh della pagina. Invece dopo il refresh tale valore viene perso.

    Esiste un modo in js che mi consente di trasferire un valore di una variabile alla stessa pagina?

  2. #2
    ModSenior L'avatar di mister.jinx
    Data Registrazione
    May 2007
    Localit
    Toscana
    Messaggi
    8,684
    Segui mister.jinx su Twitter Aggiungi mister.jinx su Google+ Aggiungi mister.jinx su Facebook Aggiungi mister.jinx su Linkedin Visita il canale Youtube di mister.jinx
    Ciao bulbius

    penso che tu abbia a disposizione alcune strade diverse:

    1. potresti usare location.search se utilizzi pagine statiche html.

    2. se la tua una pagina dinamica scritta cio in linguaggi come php, asp, asp.net, ruby, python, o perl potresti passare al momento del refresh la variabile che ti serve nella querystring (ad esempio nomepagina.php?variabile=valore) e recuperarla al reload della pagina leggendo nei rispettivi linguaggi il parametro e settarlo nel tuo codice javascript come variabile.

    3. utilizzando un cookie e le funzionalit proprie del javascript per gestirli per i browser abilitati (al 99% dei casi oggi praticamente tutti i browser fanno uso di cookies).

    Se ti possibile suggerirei la 2 strada.

  3. #3
    User
    Data Registrazione
    Aug 2007
    Messaggi
    10
    La mia una pagina dinamica in php dove a una certa azione dell'utente riapro la stessa pagina passando vari parametri per aggiornare le informazioni.
    Ora potrei passare la variabile javascript tramite form con un input hidden e il metodo post. Il problema che quando vado ad eseguire il metodo post mi riapre la pagina passando si la variabile js ma non le altre variabili php.
    Purtroppo il valore della variabile lo posso ottenere solo con js e preferisco non usare i cookies.

    Il tuo secondo metodo sembra corretto, ma non capisco come faccio a passare una variabile javascript nella querystring.
    Ultima modifica di mister.jinx; 06-09-08 alle 15:49 Motivo: quotare un messaggio intero quando rispondi di seguito non necessario :-)

  4. #4
    ModSenior L'avatar di mister.jinx
    Data Registrazione
    May 2007
    Localit
    Toscana
    Messaggi
    8,684
    Segui mister.jinx su Twitter Aggiungi mister.jinx su Google+ Aggiungi mister.jinx su Facebook Aggiungi mister.jinx su Linkedin Visita il canale Youtube di mister.jinx
    Se usi PHP i parametri possono essere passati come tutti i linguaggi dinamici o via GET o via POST. Via GET puoi passare tutti i parametri che vuoi per cui non vedo grandi problemi a passare un numero definito di variabili.

    Altrimenti visto che usi php potresti usare le sessioni ma te lo sconsiglio perch almeno a me d l'idea di essere codice poco pulito, trattandosi di dati relativi ad una pagina, e non a dati che devono rimanere persistenti per una intera sessione utente.

  5. #5
    User
    Data Registrazione
    Aug 2007
    Messaggi
    10
    Come ho gi specificato nel mio precedente post io uso php ma la variabile che devo passare una variabile javascript, quindi come faccio a usarla via get o post?
    Ultima modifica di mister.jinx; 08-09-08 alle 16:19 Motivo: quotare un messaggio intero quando rispondi di seguito non necessario :-)

  6. #6
    ModSenior L'avatar di mister.jinx
    Data Registrazione
    May 2007
    Localit
    Toscana
    Messaggi
    8,684
    Segui mister.jinx su Twitter Aggiungi mister.jinx su Google+ Aggiungi mister.jinx su Facebook Aggiungi mister.jinx su Linkedin Visita il canale Youtube di mister.jinx
    Ciao bulbius

    scusami ma continuo a non capire.
    Tu stesso hai detto di poter passare eventualmente come campo hidden di una form la variabile javascript che ti interessa. Puoi passare anche tutte le variabili php che ti interessano e recuperarle.

    Una form che presuppone una chiamata POST o GET alla stessa pagina che usi quando fai il reinvio dei dati pertanto hai sotto controllo tutti gli elementi che ti interessano.

    Dopo il reload dovrai scrivere qualcosa di simile a:
    Codice PHP:
    <?php 
    /* se "variabile"  il nome dalla tua variabile javascript e hai usato nella form il metodo POST */
     
    $variabile $_POST['variabile']; 
    /* altrimenti se hai usato il metodo GET */
     
    $variabile $_GET['variabile'];
    ?>
    e nella parte di codice javascript:
    Codice PHP:
    <script type="text/javascript">
     var nomeVariabile = <?=$variabile;?>; // se si tratta di una variabile -come immagino- di tipo numerico.
    </script>

  7. #7
    User
    Data Registrazione
    Aug 2007
    Messaggi
    10
    Gi, se la passo come campo hidden funziona perfettamente.

    Il problema che nella mia pagina ci sono vari link e altri form che causano un refresh della pagina. Quindi dovrei aggiungere il campo hidden a tutti i form della pagina in modo che al momento del submit() vengano passate la variabile javascript e anche quelle php.
    Mentre con i link non saprei come fare, cio se ho un link come questo:
    stessapagina.html?var1=5&var2=10 come faccio a inserire la variabile javascript e passarla cos alla stessa pagina?
    Ultima modifica di mister.jinx; 08-09-08 alle 16:47 Motivo: quotare un messaggio intero quando rispondi di seguito non necessario :-)

  8. #8
    ModSenior L'avatar di mister.jinx
    Data Registrazione
    May 2007
    Localit
    Toscana
    Messaggi
    8,684
    Segui mister.jinx su Twitter Aggiungi mister.jinx su Google+ Aggiungi mister.jinx su Facebook Aggiungi mister.jinx su Linkedin Visita il canale Youtube di mister.jinx
    Per il problema di pi form presenti nella stessa pagina difficile darti una risposta senza vedere niente di concreto.

    Per quanto riguarda invece il passaggio di dati via link potresti associare i link che ti interessano id speciali cos da accedervi facilmente via DOM per manipolare gli oggetti della pagina e alterare l'URL secondo come ti torna pi comodo.

  9. #9
    User
    Data Registrazione
    Aug 2007
    Messaggi
    10
    Ottimo suggerimento! per quanto riguarda i link ho associato una funzione al metodo onclick che mi cambia l'href aggiungendo il parametro javascript da passare via GET.

    Per i form ho inserito un hidden in tutti i form che mi conserva il contenuto della var javascript e poi me la passa al refresh tramite POST

    Un p macchinoso ma funzionante...
    Ultima modifica di mister.jinx; 11-09-08 alle 02:00 Motivo: fullquote non necessario :-)

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.