Bonjour,
Je n'ai pas trouvé de forum spécifique JQuery, donc je me permet de poser cette question ici car je ne suis pas très compétent et fais depuis 3 semaines mes premiers pas en JQuery et AJAX.
Mon problème est le suivant, lorsque je crée une boite "dialog" la première invocation fonctionne très bien mais les autres ne fonctionnent pas.
je suppose qu'il fait faire un close de la box, mais je ne sais pas comment faire. J'ai regardé dans divers forum, et me suis inspiré d'exemple, mais sans succès.
J'ai donc essayé de faire le test le plus minimum possible (voir ci-dessous.).
J'ai remarqué que tant que je n'utilisais pas AJAX pour charger ma box, je pouvais la créer autant de fois que je voulais (mais elle est vide ce qui évidemment n'est pas très intéressant !!).
IL m'est donc apparu que c'était sans doute le contenu de ce que je chargeais qui devait poser problème. J'ai donc essayé d'éliminer progressivement des lignes de mon code pour comprendre d'où cela pouvait venir.
Si je supprime "<script src="https://code.jquery.com/jquery-2.1.0.min.js"></script>" je n'ai plus le problème alors que dans le code de la procédure php que j'ai chargée dans la boite dialog je n'utilise jamais JQUERY. je pense (sans en être sûr) que ce script doit surcharger des fonctions standard de JS ce qui expliquerait sans doute ce comportement bizarre.
Si une bonne âme pouvait corriger mon code ci-dessous pour permettre de fermer correctement la boite de dialog, ce serait avant l'heure un beau cadeau de Noël. Merci d'avance.
Gérard
TEST.HTML
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <html lang="FR"> <head> <script src="https://code.jquery.com/jquery-2.1.0.min.js"></script> <script src="https://code.jquery.com/ui/1.11.2/jquery-ui.js"></script> <link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script>
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 var str = ""; var maliste= "MMM"; var msg; var i = 0; $(document).ready(function() { $("#boite" ).dialog({ autoOpen: false, modal: true }); }); function executeAjax(id,url,parm) { var monString=""; $.ajax({ type: "POST", url: url, data: {options: parm} , async: false, dataType: 'html', success: function( msg ) { $(id).html( msg ); monString=msg; } }); } function ouvrirBoite() { wk= executeAjax("#boite","test.php","52"); $( "#boite" ).dialog( "open" ); } </script>
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 </head><body bgcolor="#FFFFFF" > <h3> <div id="boite" ><p> </p></div> <form><center><p> <input type=button value="Cliquez" onClick="ouvrirBoite();"/> pour ouvrir la boite de dialog puis re-essayer lorsque la boite de dialog sera fermée. </form> </body></html>
TEST.PHP
Code php : 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 <html lang="FR"> <head> <title>Test PH</title> <script src="https://code.jquery.com/jquery-2.1.0.min.js"></script> <script src="https://code.jquery.com/ui/1.11.2/jquery-ui.js"></script> <link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script> function monTest(id) { alert("Clic OK"); } </script> </head><body> <?php $str =""; $str .= '<form><input type="button" value="Cliquez encore" onclick="monTest(this.value);" /></form>'; echo $str; ?> </body></html>
Partager