Bonjour, apres quelques recherches infructueuses sur le net et sur le forum, je vous pose mon probleme.
J'ai une master page index.php dans laquelle je definis plusieurs objets (dont des div) dont deux en particuliers : un div principal, un label et un div_result.
Ces div sont caches par defaut.
En cliquant sur un bouton "ajout", ces deux derniers objets deviennent visibles, alors que mon div principal devient invisible.
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 <div id="dFirmSearch" type = "hidden"> // master div <form id="fSearchResults" action="#" method="post" > ... <i><label id="tPreviousFirmName" name="tPreviousFirmName"></label></i> // label <div id="dSearchForm"> Name: <input type="text" name="iFirmName" id="iFirmName" /> // parametre de recherche <input type="button" name="bSearch" id="bSearch" value="Search" onclick="searchFirm()" /> // fonction de recherche </div> <div id="dSearchResults"> // div_results ..... </div> </form> </div> <
En cliquant sur un bouton "recherche" dans le div_result, le contenu du label et du div_result est renseigne via une requete en AJAX selon un parametre de recherche. Je peux modifier ce parametre de recherche autant de fois que je veux et la requete Ajax s'execute correctement. Le label est juste du texte, le div_result est une generation de boutons radios issus du parametre de recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var strResults = ''; strResults += ' <hr />'; strResults += ' <h1>Search results</h1> '; while(...){ strResults += ' <input name="resultsFirm" type="radio" value="'+ arrFirmNAME[i] +'" onclick="SelectFirm(' + arrFirmID[i] + ', ' + arrFirmREF[i] + ', \'' + i + '\')"/>'+ arrFirmNAME[i] + ', '+ arrFirmLOCATION[i] +'<br />'; ... } .... document.getElementById("dSearchResults").innerHTML = strResults;
Bon je crois savoir qui vomissent en voyant de la creation de div via innerHTML...sorry for that, j'suis trop mauvais.
Je clique enfin sur un bouton de validation qui enregistre toutes mes modifs, les deux div deviennent invisibles et le div principal redevient visible.
Jusque la, tout va bien. Au premier passage de ce scenario, tout bon !!
Maintenant je clique de nouveau sur le bouton "ajout", mes labels et div_result reaparaissent initialises a vide comme je le desire. Seulement lorsque je relance de nouveau ma fonction de recheche en fonction du parametre, le resultat est bien fourni par la fonction ajax, mon premier label contenant le texte est bien rempli, mon second div s'agrandit comme s'il allait recevoir les bouton radios, mais voila il reste vide et j'ai verifie dans un alert que 'strResults' est bien forme. C'est juste au moment du innerHTML que ca devient folklo.
Je rempli mes deux objets a l'aide de innerHTML.
Le probleme provient surement du html, mais la je seche, car je ne vois pas pourquoi il fonctionnerait correctement pour le label et pas pour le div, surtout qu'au premier passage du scenario, il n'y a pas de probleme.
Voila, besoin de vos lumieres.
J'espere que mes explications ont ete claires.
Partager