IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

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


Sujet :

Bibliothèques & Frameworks

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Récupération d'une variable javascript à partir d'un dojo bouton dans php
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <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>
    <body class="claro">
        <input id="role"> 
     
    		<button id="btn"></button>
    		    <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

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    - javascript : coté client.
    - PHP : coté serveur.

    Il te faut donc envoyer les données via la technique Ajax.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    merci je viens de régler le problème sur un autre cas.
    Voici le code correspondant.
    Fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    <?php include  'class/connectionBD.php';
    $conn = new connexionBD();
    $conn->connexion();
    ?>
    <!DOCTYPE html>
    <html >
    <head>
     
    <link rel="stylesheet" href="js/dijit/themes/claro/claro.css">
     
    <script>dojoConfig = {async: true}</script><script src='js/dojo/dojo.js'></script>
    <?php
            include 'outils/toolBox.php'; 
            $requete="SELECT libelleCentrale,libelleCentrale as libcen FROM centrale";
            $chemin ="tmp";
            $nomselect ="selectCentrale.json";
            $libelleattribut1 = "libellecentrale";
            $libelleattribut2 = "libcen";
            createJsonFile($requete,$chemin,$nomselect,$libelleattribut1,$libelleattribut2);                                
    ?>		
     
    <script>require(["dijit/form/Select",
      	"dojo/data/ObjectStore",
      	"dojo/store/Memory"
    	], function(Select, ObjectStore, Memory){
     
      var store = new Memory({
     
    		<?php require 'tmp/selectCentrale.json'; ?>			
      });
     
      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;		    
      })
    })</script>
    </head>
    <body class="claro">
    <form name="admin" id="admin">
        <div id="target" name="target"></div>    
          <input type="text"  name= "cibleCentrale" id ="cibleCentrale"  style="width: 80px ;">
        <input type="text"  name= "modifCentrale" id ="modifCentrale"  style="width: 80px">
        <div id="svrMessage">message du serveur</div>
     
    	<button type="submit"  >Modifier</button>
     
    <!-- ---------------------------------------------------------------------------------------------------------------------------------
    //				Traitement ajax
    /---------------------------------------------------------------------------------------------------------------------------------- --> 
    <script>
    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;
    				});
    			});
    		}
    	);    </script>
     
    <!-- -------------------------------------------------------------------------------------------------------------------------------
    //		Fin traitement ajax		
    //--------------------------------------------------------------------------------------------------------------------------------	-->
    <?php $conn->deconnexion();     ?>		
    </form>
    </body>
    </html>
    et test1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?php include  'class/connectionBD.php';
    $conn = new connexionBD();
    $conn->connexion();
    ?>
    <div id="cible">
    <?php
    	if (isset($_POST['cibleCentrale'])){
    	//récupération de l'id de la centrale 
    	$reqIdCentrale="SELECT idcentrale FROM centrale where libellecentrale ='".$_POST['cibleCentrale']."';";
    	$resIdCentrale =pg_query($reqIdCentrale);
    	if (!$resIdCentrale) {
    		echo "Erreur durant la requête.\n";
    		exit;
    	} else{
    		$rowIdCentrale= pg_fetch_row($resIdCentrale);
    		$idCentrale = $rowIdCentrale[0];
    	}	
    	if(isset($_POST['modifCentrale'])){
    		//update de la table Centrale
    		$updatereqCentrale ="UPDATE centrale SET  libellecentrale='".$_POST['modifCentrale']."'
    				where idcentrale = '".$idCentrale."'";	
     
    		$resreqCentrale = pg_query($updatereqCentrale);
     
    		if (!$resreqCentrale) {
    			pg_query("ROLLBACK");
    		} else {
    			pg_query("COMMIT");
    			echo 'Le nom de la centrale a &eacute;t&eacute; mise &agrave; jour';
    		}	
    	}
    }
     
    $conn->deconnexion();	?>
    </div>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/09/2009, 23h02
  2. Récuperer la valeur d'une variable Javascript à partir de java
    Par sovo dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 26/06/2009, 21h14
  3. Récupération d'une variable javascript dans une feuille XSL
    Par drakkar64 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/08/2008, 17h56
  4. récupération d'une variable Javascript en asp
    Par martala dans le forum ASP.NET
    Réponses: 6
    Dernier message: 29/02/2008, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo