Javascript probleme ie8 et anterieur( syntaxe

Fermé
Sougetsu - 11 mars 2010 à 08:58
 sougetsu - 11 mars 2010 à 09:34
Bonjour,

Travaillant sur le développement du site institutionnel de mon entreprise je développe une map de france avec interaction BDD PHP/mysql qui selon un choix et un clique sur la région liste les partenaires de la société tout fonctionne sur Firefox et IE8 mais quand je passe en mode compatibilité antérieur via ie il y a un petit souci j'ai cerné l'endroit mais je ne trouve pas d'alternative, je vous explique:

Je clique sur le région du nord , il n'y a pas de partenaire sur ie 6 ca me renvoie la première ligne Listes des points de vente dans la région nord Aucun résultat ne correspond a votre recherche ici c'est correct
Quand je clique sur une région qui a des résultats j'obtiens Listes des points de vente dans la région picardie (par exemple) et puis plus rien tandis que sur Fx j'ai un tableau listant les partenaires le problème c'est que je récupère bien les valeurs mais il doit y avoir un problème au niveau du dom voici l'endroit ou ca doit coincer

[code]
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");
if (store_area)
{
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
{
alert(element.length);//jusqu'ici ca à l'air correct
tablet = document.createElement("table");
tablet.setAttribute("cellpadding", "0");
tablet.setAttribute("cellspacing", "0");
tablet.setAttribute("border", "1");
store_area.appendChild(tablet);
while (i < element.length)
{
tr = document.createElement("tr");
td = document.createElement("td");
tr.appendChild(td);
image = document.createElement("img");
image.setAttribute("src", "Images/puce-carte.jpg");
image.style.paddingRight = '5px';
td.appendChild(image);
td = document.createElement("td");
tr.appendChild(td);
lien = document.createElement("a");
alert(text);
text = "info_adherent.php?id=" + element[i].getAttribute("id");
lien.setAttribute("href", text);
lien.innerHTML = element[i].getAttribute("name");
td.appendChild(lien);
tablet.appendChild(tr);
i++;
}
}
}
return ;
}
/code

Les alert me renvoie les bonnes valeurs

1 réponse

Ahhhh je ne sais pas ou cliquer pour mettre en résolu mais j'ai enfin trouver ma réponse effectivement le bug provient du navigateur de merdosoft car ie6_7 oblige l'insertion du tr dans tbody avec de placer dans table donc voici le code réponse si besoin pour une personne ayant le même probleme que moi


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");
	if (store_area)
	{	
		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];
			alert(element.length);//jusqu'ici ca à l'air correct
			tablet = document.createElement("table");
			corps = document.createElement("tbody");
			tablet.setAttribute("cellpadding", "0");
			tablet.setAttribute("cellspacing", "0");
			tablet.setAttribute("border", "1");
			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");	
				alert(text);
				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);// ne pas oublier^^
				
				i++;
			}
		}
	}
	return ;
}

0