je developpe un programme utilisant Php/mysql pour la recherche en BDD javascript pour l'interactivité avec du dom
voici mon problème assez fou comme toujours,
D'abord voici ma carte decoupé avec la fonction onclick qui selon le click affiche les resultat de la bDD
<?php
$x=0;
if($x==0)
{
?><script>alert('<?=$x?>');get_store_info('ile-de-france');</script><?php
}
?>
[ du code pas interessant ici]
<div id = "catalogue">
<div id = "header_cata" style = "visibility:hidden">
<img src = "Images/menu-localiser.jpg" alt = "menu_localiser" style = "margin-left:20px;margin-top:50px;" />
<p id = "info_region">
</p>
</div>
<div id = "info_cata">
</div>
</div>
donc voici le js correspondant
function check_store_info(store_info, opt, region)
{
var store_area;
var element;
var text;
var i;
var para;
var result;
var lien;
var image;
var table;
var td;
var tr;
i = 0;
store_area = document.getElementById("info_cata");
alert(document.getElementById("info_cata").value);
if (store_area)
{ alert('uuuu');
store_area.innerHTML = "";
para = document.createElement("p");
document.getElementById('info_region').innerHTML = "";
document.getElementById('header_cata').style.visibility = 'visible';
document.getElementById('info_region').appendChild(document.createTextNode("Listes des points de vente dans la region " + region));
element = store_info.getElementsByTagName("store");
if (element.length == 0)
{
text = document.createTextNode("Aucun resultat ne correspond a votre recherche");
store_area.appendChild(document.createElement("p").appendChild(text));
}
else
{
var body = document.getElementsByTagName("body")[0];
tablet = document.createElement("table");
corps = document.createElement("tbody");
tablet.setAttribute("cellpadding", "0");
tablet.setAttribute("cellspacing", "0");
store_area.appendChild(tablet);
while (i < element.length)
{
trs = document.createElement("tr");
tds = document.createElement("td");
trs.appendChild(tds);
image = document.createElement("img");
image.setAttribute("src", "Images/puce-carte.jpg");
image.style.paddingRight = '5px';
tds.appendChild(image);
tds = document.createElement("td");
trs.appendChild(tds);
lien = document.createElement("a");
text = "info_adherent.php?id=" + element[i].getAttribute("id");
lien.setAttribute("href", text);
lien.innerHTML = element[i].getAttribute("name");
tds.appendChild(lien);
corps.appendChild(trs);
tablet.appendChild(corps);//petit vicieux 1 journée d'erreur pour ça -_- total allu
i++;
}
}
}
return ;
}
Cette fonction est bloquante sur ie le cheminant avant est bon
Alors sur firefox ca marche correctement pas de souci mes alert sont bonnes et le resultat aussi
Par contre sur IE il y a un pb effectivement quand je re-actilise ma recherche sans modifié la region rien ne s'affiche , si je change de region c'est bon
j'ai remarqué ceci
alert(document.getElementById("info_cata").value); la premiere fois sous ie il le reconnait comme objet par contre quand je re-actualise il ne le reconnait plus (comme nul) et ne va plus dans la boucle)
la fonction get_store amene a check store mais aucun probleme avant check_store
Apres avoir modifié (pendant 3H) mes doms j'ai changé la place de mon script en le mettant après la balise <html> et non dans un include résultat ça fonctionne car apparemment "monsieur IE" ne connaissait plus l'existence de ma balise en actualisant sur la même région
Au final j'ai touché à tout et ca fonctionne ...