Bonjour à tous!
Actuellement je fait un script d'ajout de commentaires sur un wall avec un refresh post-envoie.
Un message possède une id propre qui est insérée dans un formulaire (chaque message a son formulaire d'insertion de commentaire). Le formulaire est nommé en fonction de l'id du message à commenter (test_form_xx, xx étant l'id)
Afin de récupérer cette id variable je travail avec une identification du clic du bouton submit par classe (que j'ai nommée "tester" pour l'instant):
Avec ce code quand la page est loadée le this.id me retourne l'id du bouton qui correspond par la même occasion à l'id du message à commenter.
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 function post_envoie() { var maj_content = new Ajax.Updater("content", "./maj.php", {asynchronous:true, method:'get', parameters:""}); bindElements(); } function bindElements() { $$('.tester').each(function (el) { return $(el).observe('click', function(event) { event.stop(); alert('clic sur l\'id: ' + this.id); post_envoie(); }); }); } Event.observe(window, 'load', bindElements);
Sauf que, et là j'avoue que je dois louper un truc, le premier envoie est ok (execution de la fonction, pas de soucis), mais lorsque j'actualise le contenu de la div et bien c'est finit lorsque je clic sur le bouton ma fonction n'est plus exécutée, comme si ma détection de classe avait disparue...
Lien de test: http://jinsa.fr/sub/test.php
contenu de test.php (sans l'html entourrant)
contenu de maj.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php echo ' <div id="content"> <div id="div_10"> <form id="test_form_10" name="test_form_10" action="send.php"> <textarea id="area_form_10" name="area_form_10"></textarea> <br><button id="10" name="btn_form_10" class="tester">Send it!</button></br> </form> </div> </div> '; ?>
Voilà je suis complètement perdu donc si vous avez une idée je suis preneur ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php echo ' <div id="div_10"> <form id="test_form_10" name="test_form_10" action="send.php"> <textarea id="area_form_10" name="area_form_10"></textarea> <br><button id="10" name="btn_form_10" class="tester">Send it!</button></br> </form> </div> version mise a jour '; ?>
Merci d'avance![]()
Partager