Hello,
Le problème a plus l'air de se situer aux deuxième reply. Je le laisse pour ceux qui veulent savoir pourquoi je veux m'en servir.
Après quelques heures d'arrachage de cheveux, je viens le partager ici.
Je suis en train de réaliser une page en ajax, dans lequel il sera possible de faire un devis. Suivant les choix, les prix,délais, l'affichage du produit seront actualisés.
Mon souci est le suivant : lors d'un évènement (un onblur ou onchange), plusieurs parties de ma page doivent s'actualiser.
Au début je faisais ça de cette façon :
La première fonction enregistre le choix dans un objet PHP. La deuxième recalcule le prix et l'affiche. La dernière actualise le support. Ce qu'il n'allait pas c'est que le support s'affichait, alors que le choix n'était pas toujours modifié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input id="support" class="mesinputs" onblur="javascript:choixsupport(); calculprix(); affichSupport();"/>
Je me suis donc documenté un peu plus sur l'Ajax et j'ai trouvé sur developpez.com, un framework pour l'ajax. J'aimerais donc m'en servir, étant donné qu'on peut gérer mieux l'Ajax, dans mon cas surtout graçe à onSucces.
J'essaye donc de gérer ça de la sorte.
index.html
choix.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input id="support" class="mesinputs" onblur="javascript:choixsupport(idElement);"/>
choixsupport.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 function choixSupport(idElement){ //affichSupport();verifEmplacement(1,'.$this->id.'); var idRecepteur = "btntransfert"; //var idRecepteur = "visumarquage"; var fichierPHP = "ajax/choixsupport.php" new Ajax.Updater( idRecepteur, fichierPHP, { method: 'post', parameters : {support : $F("support"+idElement), idelement : idElement}, onSuccess : function (json){ alert(json.fonctions.choix); } } ); }
Apparement le fichier JSON se crée bien, mais je n'arrive pas à l'exploiter du coté javascript.
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 <?php require "./php/class/devis.php"; session_start(); if(isset($_POST["support"])) $support = $_POST["support"]; if(isset($_POST["idelement"])) $idelement = $_POST["idelement"]; $_SESSION['mondevis']->tabElement[$idelement]->support = $support; $varDyn = $_SESSION['mondevis']->tabElement[$idelement]->couleur ; $jsonFormat = array( 'fonctions' => array( 'choix' => 'verifEmplacement('.$varDyn.')', 'choix' => 'affichSupport('.$idelement.')', ) ); echo json_encode($jsonFormat); header("X-JSON : ".json_encode($jsonFormat)); ?>
Est-ce que quelqu'un voit une erreur ? Ma méthode est elle bonne ou un peu tordu ?
Merci pour vos réponse.
Partager