• User Newbie

    Jquery-Ajax: passaggio di variabile a script php

    Ciao a tutti, ho un problema riguardante il passaggio di una variabile da uno script in Jquery ad un altro in php, e mi serve per dar modo all'utente di modificare il nome di alcune cartelle all'interno di un CMS creato da me.

    Partendo dall'inizio, stampo una variabile php strutturata in questo modo:
    [php]echo "<p id="editable" contentEditable="true">" . $cartella . "</p> \n";[/php]A questo punto, tale variabile viene passata ad uno script Jquery situato nella stessa pagina che legge il contenuto della variabile grazie all'id "editable" e lo invia ad una pagina save.php tramite metodo post. Questa pagina salva il contenuto della variabile nel Database.

    Ora, lo script Jquery (che ho trovato in giro per la rete) è studiato per passare alla pagina save.php solo la variabile ricavata dall'id "editable", e infatti per essere funziona. Io però necessito di passare allo script e conseguentemente anche a save.php anche una variabile contenente l'id della cartella da modificare... Il problema è che essendo molto alle prime armi con Jquery, non so bene quale sia la sintassi corretta.

    Questo è il codice dello script Jquery

    <script>
        $(document).ready(function() {
            
            $(".save").click(function (e) {            
                var content = $('#editable').html();
                var idfolder = $('#idfolder').html();    
                    
                $.ajax({
                    url: 'save.php',
                    type: 'POST',
                    data: {
                    content: content, 
                    idfolder: idfolder
                    },                
                    success:function (data) {
                                
                        if (data == '1')
                        {
                            /* mostra messaggio di avvenuto salvataggio */    
                        }
                        else
                        {
                            /* mostra messaggio di errore */        
                        }
                    }
                });   
                
            });
        
        })
    
    </script>
    ```Le parti di codice 
    

    var idfolder = $('#idfolder').html();
    idfolder: idfolder

    
    Ultima cosa, se può essere utile: l'id della cartella lo ricavo con
    [php]echo "<p id=\"idfolder\" style=\"display:none;\">" . $idfolder . "</p> \n";[/php]Ringrazio fin d'ora tutti coloro che risponderanno!

  • User Attivo

    Se hai un link alla pagina dove fai, mi verrebbe comodo per controllare il passaggio delle variabili, dato che lo script in se mi sembra giusto(ho sempre dei problemi anche io con quella funzione!)

    Un esempio su jQuery.com, è uguale al tuo:

    
    $.ajax({
      type: "POST",
      url: "some.php",
      data: { name: "John", location: "Boston" }
    }).done(function( msg ) {
      alert( "Data Saved: " + msg );
    });
    
    

    Quindi il problema deve essere altrove!

    Forse, e dico forse, il problema sta nel fatto che chiami un ID che è multiplo!
    Tu scrivi:

    
    echo "<p id=\"idfolder\" style=\"display:none;\">" . $idfolder . "</p> \n";  
    
    

    Se questo è dentro un ciclo, lo script che va a prendere i dati(idfolder) si impappa!

    Fammi sapere!