SCRIPT JS avec ie :@

Résolu/Fermé
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 19 juil. 2011 à 21:35
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 21 juil. 2011 à 14:18
Bonjour, j'ai un souci avec un site il fonctionne parfaitement sous chrome et mozilla mais voilà la bête noire m'arrive de plein fouet et mes deux pauvre petit script que j'ai écrit ne veulent plus fonctionner. Aidez moi s'il vous plaît.
le script
<script language="javascript">
function image(Lien,Libelle,Prix,Four)
{
document.images["apercut"].src=Lien;
document.getElementById('lib').innerHTML="Libellé : "+Libelle;
document.getElementById('prix').innerHTML="Prix : "+Prix+" €";
document.getElementById('fournisseur').href=Four;
}

function imageEnr(Lien,Libelle,Prix,Four)
{
document.images["apercut"].src=Lien;
document.getElementById('lib').innerHTML="Libellé : "+Libelle;
document.getElementById('prix').innerHTML="Prix : "+Prix+" €";
document.getElementById('fournisseur').href=Four;
}
</script>

le code qui s'applique au script
<form action="enrAnnonce.php" method="post">
				<select name="annonce" id="listeAnnonce" size="10">
<?php
        $sql="SELECT * from annonce where reserver='0'";
	$sql=mysql_query($sql);
	while($ligne=mysql_fetch_object($sql))
	{
		$id_annonce=$ligne->id_annonce;
					$libelle=$ligne->libelle;
					$image=$ligne->image;
					$prix=$ligne->prix;
					$adresse=$ligne->adresse;
					echo "<option onclick=\"image('".$image."','".$libelle."','".$prix."','".$adresse."');\" value='".$id_annonce."'>".$libelle."&nbsp;&nbsp;".$prix." €</option>";
	}
?>
		                </select>
				<br />
				<br />
				<div class="legend">
					<p id="lib">Libellé :</p>
					<p id="prix">Prix :</p>
					<a href="#" target="_blank" id="fournisseur">Adresse du Fournisseur</a><br /><br />
					<input type="submit" value="Sauvegarder l\'annonce" />
				</div>
			</form>
			<img src="img/apercut.jpg" style="widht:150px;height:200px;" id="apercut" alt="image de l\'annonce" />


Merci à vous.


1 réponse

adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
20 juil. 2011 à 15:58
Bonjour,

à priori IE n'aime pas les onclick sur les <option> je te conseillerais donc d'utiliser un onchange sur le select directement.

Par contre au vu du nombre de paramètre passés à ta fonction je te conseillerais de te créer dynamiquement au chargement de la page un tableau associatif en javascript pour stocker tes infos

Adns
1
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
20 juil. 2011 à 16:30
euh le probleme du tableau c'est que j'ai pas mal d'info a y passer en fait le site c'est ma liste de naissance pour mon fils donc ce select contient la liste de naissance apres ma requete sql permet de remplir tout les parametres je suis pas très douer en js (je suis en bts info je rentre en 2nd année donc pas encore vu l'orienté objet). c'est la premiere fois que j'utilise du js dans ce but là. de plus j'ai lu que ie avait un bug sur le innerHTML
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
20 juil. 2011 à 20:54
Ce que tu peux faire c'est de mettre toute tes info dans des div séparés qui seraient caché et le fait de changer de valeur dans ta liste afficherai le div qui correspond.

Plus de problème de tableau ou de innerHTML qui soit dit en passant est bien géré par IE ;) (dans mes souvenir :))

Adns
0
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
21 juil. 2011 à 12:59
je touche la solution du bout des doigts, j'ai changé mes balise <p> par des <label> et là le innerHTML tourne bien le probleme du innerhtml etait avec des balise option ou un truc du genre il fallait englober le select dans des div et passer par le select....
0
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
21 juil. 2011 à 14:18
j'ai enfin trouver fiou je suis passer par le select j'ai pas toucher a mon innerHTML mais par contre mes value on changé maintenant je passe en value tout le resultat de ma requete concaténer avec un "!" comme delimiteur apres avec des regExp et split je sais plus quoi j'ai reséparer ma chaine de caractere dans un tableau et j'ai dispaché voilà merci pour l'aide
0