Récupération d'une variable javascript à partir d'un dojo bouton dans php

Signaler
Messages postés
4
Date d'inscription
dimanche 14 février 2010
Statut
Membre
Dernière intervention
15 avril 2013
-
Messages postés
4
Date d'inscription
dimanche 14 février 2010
Statut
Membre
Dernière intervention
15 avril 2013
-
Bonjour, je recherche depuis un peu trop longtemps à faire passer une variable javascript dans du php, j'ai une FilteringSelect ou je sélectionne une donnée et en fonction de la valeur sélectionné je veux faire un update dans une base de donnée POSTRESQL

voila mon code

<script>dojoConfig =  {async: true, parseOnLoad: true}</script><script src='js/dojo/dojo.js'></script><script>require([
    "dojo/ready", "dojo/store/Memory", "dijit/form/FilteringSelect"
], function(ready, Memory, FilteringSelect){
    var stateStore = new Memory({
<?php include 'tmp/selectlibelletypeutilisateurs2.json';?> // je récupère ici mon json
   });
 
    ready(function(){
        var filteringSelect = new FilteringSelect({
            id: "role",
            name: "admin",
            value: "1",            
            store: stateStore,
            searchAttr: "name"
        }, "role");
    });
});</script>
</head>

     
 
  
    <script>
        require(["dijit/form/Button", "dojo/domReady!"], function(Button) {
            var button  = new Button({
                label: "Get value!",               
                onClick: function(){
var test =dijit.byId('role').get('value');		
             // ici je dois passer ma valeur en php;
             // et faire mon update en base de donnée          
 
                }
            }, "btn");
            button.startup();		           
        });
 
    </script>


J'ai essayer de faire test ="<?php echo $test?>" mais apparemment Dojo transforme le html et refuse les balises de php
Je vous remercie par avance

3 réponses

Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

Je ne pense que ce soit dojoConfig qui interpréte mal le php puisque c'est du javascript (exécuté sur le poste de l'utilisateur) et php et exécuté sur le serveur et renvoit une page HTML/JS.

Ecrit comme ceci : test ="<?php echo $test; ?>" avec ';' et ' '. Puis regarde le code source de la page lorsqu'elle est exécutée. Tu verras bien ce que tu as dans test (JS).
Messages postés
4
Date d'inscription
dimanche 14 février 2010
Statut
Membre
Dernière intervention
15 avril 2013

Bonjour, merci de ton aide mais je suis toujours coincé, quand je fait test ="<?php echo $test; ?>" coté serveur j'ai </ br>, il n’interprète pas du tout le php avec ; ou rien j'ai le même résultat
Est ce que quelqu'un peut m'aider?
Messages postés
4
Date d'inscription
dimanche 14 février 2010
Statut
Membre
Dernière intervention
15 avril 2013

J'ai soldé le problème en passant par ajax

voila le résultats
fichier 1








dojoConfig = {async: true}


require(["dijit/form/Select",
"dojo/data/ObjectStore",
"dojo/store/Memory"
], function(Select, ObjectStore, Memory){

var store = new Memory({


});

var os = new ObjectStore({ objectStore: store });

var s = new Select({
store: os
}, "target");
s.startup();

s.on("change", function(){
var valeur =dijit.byId('target').get('value')
document.admin.cibleCentrale.value = valeur;
})
})









message du serveur


Modifier



require(["dojo/dom", "dojo/on", "dojo/request", "dojo/dom-form"],
function(dom, on, request, domForm){

var form = dom.byId('admin');

// Attach the onsubmit event handler of the form
on(form, "submit", function(evt){

// prevent the page from navigating after submit
evt.stopPropagation();
evt.preventDefault();

// Post the data to the server
request.post("test1.php", {
// Send the username and password
data: domForm.toObject("admin"),
}).then(function(response){
dom.byId('svrMessage').innerHTML = response;
});
});
}
);








enfin le traitement dans un autre fichier