Visualizzazione dei risultati da 1 a 4 su 4

Discussione: PHP dentro file *.js ?

  1. #1

    PHP dentro file *.js ?

    Ciao a tutti,
    come da titolo vorrei sapere se è possibile in qualche modo aggiungere uno script PHP all' interno di un file javaScript.
    In pratica ho creato 3 slide in jQuery tramite le funzioni show() e hide() [che ho impostato di default in hide()] su una pagina PHP con 3 form.

    Quindi, una pagina con 3 div con la possibilità di aprirli e chiuderlo e dentro ogni div c'è un form. In ogni form ovviamente c'è un tasto submit che ha come metodo POST e come action 3 pagine dinamicamente create tramite variabili di tipo GET.

    Nello specifico:
    apro la pagina index.php e mi ritrovo 3 div in hide() rispettivamente chiamati #div1 , #div2 , #div3 .

    clicco su #div1 che contiene #form1 che ha come action="?page=1"
    clicco su #div2 che contiene #form2 che ha come action="?page=2"
    clicco su #div3 che contiene #form3 che ha come action="?page=3"

    Ora, nel file index.php ho creato la parte di visualizzazione dei div che è statica, e sopra degli alert che appaiono dinamicamente, quindi:
    Codice PHP:
    if($_GET['page']==1) echo "testo per #div1";
    else if(
    $_GET['page']==2) echo "testo per #div2";
    ecc..... 
    Ora, supponiamo che sto lavorando sul #2, quindi apro la mia index.php e mi trovo 3 div chiusi, apro il #div2, compilo il modulo, premo il tasto Invia quindi mi viene caricata la pagina "index.php?page=2" e fino a quì tutto ok, il problema è che ricaricando la pagina il #div2 che avevo aperto, e sul quale sto lavorando (GIUSTAMENTE) mi si chiude perché impostato su hide().

    Quindi morale della favola, mi chiedo se è possibile andare a modificare dentro il file script.js
    codice:
    $(document).ready(function(){ 
        $("#div2-da-visualizzare").hide(); 
        $("#div2-click").click(function(){ 
            $("#div2-da-visualizzare").slideToggle("slow"); 
            $("#div2-click").toggleClass("active"); return false; 
        });
    });
    tipo in questo modo
    codice:
    $(document).ready(function(){ 
        $("#div2-da-visualizzare").hide(); // <-- quà un <? if($_GET['page']=="2") print("show()"); ?>
        $("#div2-click").click(function(){ 
            $("#div2-da-visualizzare").slideToggle("slow"); 
            $("#div2-click").toggleClass("active"); return false; 
        });
    });
    In alternativa so che posso creare 4 file js differenti dove:
    file1 : #div1 = hide ; #div2 = hide ; #div3 = hide ;
    file2 : #div1 = show ; #div2 = hide ; #div3 = hide ;
    file3 : #div1 = hide ; #div2 = show ; #div3 = hide ;
    file4 : #div1 = hide ; #div2 = hide ; #div3 = show;

    e poi fare l' if con PHP all' interno dei tag <head> quando includo lo script js..
    verrebbe più lungo e fastidioso.

    Grazie per i tempo dedicatomi, un saluto,
    Francesco.

  2. #2
    Fai prima a fare un file .php e metterci dentro il JS, altrimenti come vuoi fare tu è impossibile perché il motore php non interpreta i file JS ma i file .php, claro?

  3. #3

    EDIT: Perfetto funziona :)

    Quindi dici di fare così?
    Codice PHP:
    <script type="text/javascript">
    $(document).ready(function(){ 
        $("#div2-da-visualizzare").<? if($page=="2") print("show"); else print("hide"); ?>(); 
        $("#div2-click").click(function(){ 
            $("#div2-da-visualizzare").slideToggle("slow"); 
            $("#div2-click").toggleClass("active"); return false; 
        });
    });
    </script>
    E' corretto?

  4. #4

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