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 fichier php (dojo) avec ajax ne rapatrie pas la config 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 fichier php (dojo) avec ajax ne rapatrie pas la config Dojo
    Voila mon problème, je charge un fichier php en ajax, ce fichier est dans un dijit/layout/AccordionContainer, je charge bien le fichier mais les paramètres Dojo ne sont pas pris en compte
    voila un extrait de 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
     
     <form id="formNode">
    	       <input data-dojo-type="dijit/form/NumberSpinner" id="integerspinner2" value="0"
    		      data-dojo-props="smallDelta:1, constraints:{min:0,max:10,places:0}" name="someNumber" style="width:100px;"/>&nbsp;&nbsp;
    	       <button type="submit" data-dojo-Type="dijit.form.Button">valide</button>
    	  </form>
    	  <fieldset id="ident" style="border-color: #5D8BA2;width:505px;padding-top: 0;margin-top:20px;padding-left: 15px;padding-right: 15px  ;height:'<?php echo $height . 'px'; ?>'">
    	       <legend style="color: #5D8BA2;"><?php echo TXT_PERSONNECENTRALE; ?></legend>
    	       <div style="width: 467px; ;margin-top:15px;" id="resultDiv">
    		    <div id="svrMessage" data-dojo-type="dijit/layout/AccordionContainer" style="height:'<?php echo $height;?>' " ></div>
    	       </div>
    	       <script>
    		    require(["dojo/dom", "dojo/on", "dojo/request", "dojo/dom-form"],
    		    function(dom, on, request, domForm){
    			 var form = dom.byId('formNode');
    			 // Attach the onsubmit event handler of the form
    			 on(form, "submit", function(evt){
                		      var nb = dijit.byId('integerspinner2');
    			      // prevent the page from navigating after submit
    			      evt.stopPropagation();
    			      evt.preventDefault();
    			      // Post the data to the server
    			      request.get("test/personneCentrale.php?nb="+nb+"", {  // LE FICHIER CHARGE
    				   data: domForm.toObject("formNode")
    			      }).then(function(response){
    				   dom.byId('svrMessage').innerHTML = response;
    			      });
    			 });
    		    }
    	       );</script>
    Et voila le code du fichier personneCentrale.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
     
    <?php for ($i=1;$i<=$nb;$i++){?>
             <div data-dojo-type="dijit/layout/ContentPane" title="<?php echo 'Personne '.$i; ?>" selected="true" >
                <table>
                    <tr>
                        <td>
                            <label for="<?php echo 'nom'.$i;?>" class="perCentrale" ><?php echo TXT_NOM; ?></label>
                            <input style="width: 210px" data-dojo-type="dijit/form/ValidationTextBox"  name="<?php echo 'nom'.$i;?>" autocomplete="on" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <label for="<?php echo 'prenom'.$i;?>" class="perCentrale" ><?php echo TXT_PRENOM; ?></label>
                            <input style="width: 210px"  data-dojo-type="dijit/form/ValidationTextBox" name="<?php echo 'prenom'.$i;?>" autocomplete="on" />
                        </td>
                    </tr>
     
                    <tr>
                        <td><label for="<?php echo 'qualite'.$i;?>" class="perCentrale" ><?php echo TXT_QUALITE; ?></label>
                            <?php
                                $row = $manager->getList("SELECT idqualitedemandeuraca,libellequalitedemandeuraca FROM qualitedemandeuraca where libellequalitedemandeuraca != 'n/a';");
                            ?>
                            <select name="<?php echo 'qualite'.$i;?>" id="<?php echo 'qualite'.$i;?>"        data-dojo-type="dijit/form/FilteringSelect" style="width: 210px"  data-dojo-props="  value: '', placeHolder: '<?php echo TXT_SELECTQUALITE ; ?>'" >
                                <?php
                                for($k=0;$k<count($row);$k++){
                                echo "<option value='$row[$k]['idqualitedemandeuraca']'>".$row[$k]['libellequalitedemandeuraca']."</option>";
                                }
                                ?>
                            </select>
                        </td>
                    </tr> etc.....
    Je ne comprend pas comment faire pour récupérer les paramètres dojo dans le dijit/layout/ContentPane
    Merci par avance de votre aide

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Réponse tardive mais...
    ... mais intéressante pour tout le monde je crois.

    Quand tu charges du code Dojo ainsi, il n'est pas automatiquement parsé. Il te faut parser le noeud englobant que tu récupères pour que Dojo le prenne en charge. Quelque chose comme:

    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
    		    require(["dojo/dom", "dojo/on", "dojo/request", "dojo/dom-form", "dojo/parser"],
    		    function(dom, on, request, domForm, parser){
    			 var form = dom.byId('formNode');
    			 // Attach the onsubmit event handler of the form
    			 on(form, "submit", function(evt){
                		      var nb = dijit.byId('integerspinner2');
    			      // prevent the page from navigating after submit
    			      evt.stopPropagation();
    			      evt.preventDefault();
    			      // Post the data to the server
    			      request.get("test/personneCentrale.php?nb="+nb+"", {  // LE FICHIER CHARGE
    				   data: domForm.toObject("formNode")
    			      }).then(function(response){
    				   dom.byId('svrMessage').innerHTML = response;
    
    				   parser.parse(dom.byId('svrMessage'));
    				   
    			      });
    			 });
    		    }
    	       );
    ERE
    Quand une tête pense seule, elle devient folle.

Discussions similaires

  1. Excécuter une fonction JS dans un fichier PHP "appelé" en Ajax
    Par Voyageur Du Net dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/05/2011, 17h21
  2. [PHP 5.0] [FTP] Exécution d'un fichier.php créé avec la fonction copy()
    Par sharphb dans le forum Langage
    Réponses: 6
    Dernier message: 14/04/2009, 17h09
  3. convertir un fichier php iso avec notepad++
    Par Lareine dans le forum Eclipse
    Réponses: 0
    Dernier message: 06/04/2009, 03h12
  4. récupération fichier php
    Par tierra dans le forum Langage
    Réponses: 11
    Dernier message: 25/04/2008, 18h03
  5. Réponses: 2
    Dernier message: 19/08/2004, 17h12

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