Bonjour à tous,
Je débute un peu en AJAX, et malheureusement je n'arrive pas à trouver de réponse à mon problème. Je me suis basé sur un exemple W3.
Je désire activer le contenu d'un tableau dans une DIV, en passant par AJAX pour ne pas rafraîchir tout le contenu, cela fonctionne donc très bien à partir du moment où nous avons une DIV avec le même nom.
Néanmoins, je désire que par exemple nous ayons plusieurs DIV avec des noms différents mais dont seulement le chiffre final du nom de la DIV change, ainsi dans la logique il suffirait de la changer coté Javascript.
Exemple :
Les liens qui appèlent l'AJAX :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div id="txtHint0"><b></b></div> <div id="txtHint1"><b></b></div> <div id="txtHint2"><b></b></div> <div id="txtHint3"><b></b></div> <div id="txtHint4"><b></b></div> <div id="txtHint5"><b></b></div> <div id="txtHint6"><b></b></div>
Ainsi le numéro envoyé à la fonction pourrait être concaténé avec le nom de la DIV en JS comme par exemple "txtHint"+6. H'ai donc passé STR en paramètre de stateChanged.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <a href="#" onClick="showText(0)">test 0</a> <a href="#" onClick="showText(1)">test 1</a> <a href="#" onClick="showText(2)">test 2</a> <a href="#" onClick="showText(3)">test 3</a> <a href="#" onClick="showText(4)">test 4</a> <a href="#" onClick="showText(5)">test 5</a> <a href="#" onClick="showText(6)">test 6</a>
Le code AJAX concerné :
Rien ne se passe quand on clique sur les liens.
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
38
39
40
41 <script language="JavaScript"> var xmlhttp function showText(str) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Your browser does not support AJAX!"); return; } var url="mapage.asp"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlhttp.onreadystatechange=stateChanged(str); xmlhttp.open("GET",url,true); xmlhttp.send(null); } function stateChanged(str) { if (xmlhttp.readyState==4) { document.getElementById("txtHint" + str).innerHTML=xmlhttp.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } </script>
Merci d'avance pour vos interventions, je suis certain qu'il s'agit d'une erreur toute bête !
Partager