(creation d'un plugin tinyMCE)
L'utilisateur clique un bouton "A".
Je récupere les paramètres nécessaires depuis le formulaire associé au bouton.
Je renvoie les données de test (simple text) vers une méthode "insert" qui se charge de les insérer dans l'éditeur et tout se passe bien...
Mais les données que j'envoie normalement sont recuperé depuis un objet php qui instancie une classe.
Puisque c'est le js qui doit inserer, ça revient à manipuler un objet php dans un fichier js.
J'ai vu qu'on utilise du Json quelque part, j'ai essayé de faire alors :
(formulaire d'envoie)
(traitement.php)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <div id="mediamap"> <form action="traitement.php" method="POST"> <strong>Adresse: </strong> Veuillez entrer une adresse valide du lieu desiré: <br /> <textarea id="mediamap_address" cols="24" rows="2" style="width: 380px;"></textarea><br /> Description du lieu: <br /> <textarea id="mediamap_infoWindowText" cols="20" rows="1" style="width: 380px;"></textarea><br /> Titre de la map (si plusieurs): <textarea id="mediamap_title" cols="10" rows="1" style="width: 280px;"></textarea><br /> <input type="submit" value="ajouter" /> <strong id="mediamap_error" style="color: red;"></strong> </form> </div>
Je ne suis pas vraiment sur de ce que je suis entrain de faire vu que c'est ma premiere manipulation avec du Json (d'ailleur comment inserer les variable json dans le 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
26
27
28
29
30
31
32
33
34
35
36
37 <?php require'classA.class.php'; if (!isset($_POST['ajouter'])) { $gm = new classA(); //definition de l'adresse $gm->SetAddress(isset($_POST['mediamap_address'])); $gm->SetInfoWindowText(isset($_POST['mediamap_infoWindowText'])); $gm->SetSideClick(isset($_POST['mediamap_title'])); //j'appelle quelques methodes et j'essaie de passer leurs resultats via json $jMapsKey = json_encode($gm->gMapsKey()); $jMapHolder = json_encode($gm->mapHolder()); $jInitJs = json_encode($gm->initJs()); $jGetSideClick = json_encode($gm->getSideClick()); $jUnloadMap = json_encode($gm->unloadMap()); ?> <script type="text/javascript" > function(){ //insertion de la carte dans l'editeur tinyMCE.execInstanceCommand(this.currentEditor, "mceInsertRawHTML", false, '<p class="flashcontainer"> '+ variable php à inserer ici + '</p>'); form.reset(); return true; } </script> }
Mais ce que j'essaie de faire, c'est d'instancier la classe php, d'appeller quelques méthodes de cette classe et de passer le resultat au javascript pour l'afficher...
Partager