Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277

    Variabile PHP passata a script JS

    Ciao a tutti.

    Cercando qua e là nel forum ho trovato soluzioni al mio problema che però sembrano non funzionare.

    Il problema è molto semplice: ho uno script JS dove devo richiamare una variabile di sessione PHP.
    Lo script Js è richiamato a sua volta da una pagina PHP.


    Nel file JS ho scritto:

    Codice PHP:
    var root = <?php echo $_SESSION[SERVER_ROOT]; ?>;
    alert root;
    Ma non funziona!
    Sapete aiutarmi? Grazie mille!


  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se metti il js in un file php (che con oppurtuni echo genera il tag script contenente il codice js) questo metodo funziona, altrimenti i file con estensione js non vengono interpretati dal server php.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Si, in effetti hai intuito il problema. E ti ringrazio moltissimo.

    Io richiamo dei file con estensione js. Dentro a questi file ho il codice che ho postato.

    Quindi PHP non lo interpreta, e quindi non funziona, questo mi torna. Qual è allora il metodo per farlo funzionare? Il codice JS infatti è troppo lungo da poter essere incluso e necessariamente deve stare dentro file *.js.

    Come posso fare?

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    puoi mettere un campo hidden nell'html, di cui recuperi il valore con getElementById.

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Mmm... è possibile fare questo se il campo hidden e il js stanno all'interno della stessa pagina?

    Mi potresti dire come potrei fare?

    Grazie mille!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    che esempio ti devo fare?

    codice:
    <input type="hidden" name="test" id="test" value="<?php echo $_SERVER['DOCUMENT_ROOT'];?>" />
    poi nel js
    codice:
    alert(document.getElementById('test').value);
    siccome le cose non possono mai andare lisce lisce , devi tenere presente che il valore sarà disponibile quando il browser avrà interpretato il codice html.

    Siccome il download della pagina html e di quella js potrebbero procedere in parallelo, potrebbe porsi il problema che il file javascript cerchi di accedere all'elemento input prima che il browser l'abbia inserito nel DOM.

    Quindi dovrai gestire la cosa, magari mettendo tutto in nel onload della pagina.
    (in realtà esistono delle funzioni per far partire gli script js non appena il dom è pronto, e senza aspettare che tutta la pagina sia stata caricata)

    ciao

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