Bonjour à tous !
Voilà, je me retrouve confronté à un problème assez énervant. Et n'étant pas informaticien de base (débutant, donc), je n'arrive vraiment pas à le résoudre.
Avant tout, il faut savoir que ça fonctionne très bien sous FireFox. Mais sous Internet Explorer, rien.
Résumé :
Le problème est sur la page suivante : ici.
Le principe est de remplir automatiquement 3 champs (2 text "nom" et "numéro" et 1 select "edition") d'un formulaire à partir d'un seul clic. Ca marche donc sous FF, mais pas sous IE.
Détails :
Le formulaire est constitué de 20 "blocs" comme on le voit facilement sur la page en question. Le code html est donc généré en php par une boucle.
Pour un "bloc" donné... Si on fait une recherche en tapant un nom incomplet (essayez "colere", par exemple), le script php donne une liste de lien pouvant correspondre à la recheches. C'est un clic sur l'un de ces liens qui permet de remplir les 3 champs en question. Mais comme dit précédement, ces champs comme ces liens sont générés par du php.
Voici le code php qui génère un lien :
$i : numéro associé au "bloc" (pour "carte n°1", $i = 0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $identifianttype = "1-".$i; $nommodif = addslashes(trim($donnees['crt_nom'])); $liste1 = $liste1."<a href='#n1-".$i."' onclick=\"javascript:selectcarte('".$identifianttype."','".$nommodif."','".$donnees['crt_ed']."','".$donnees['crt_num']."');\">".$donnees['crt_nom']."</a> (".edition($donnees['crt_ed']).", n°".$donnees['crt_num'].")<br />";
$donnees[XXX] : données issues d'une requete sql.
$liste1 : nom de la liste de liens
selectcarte() : cf plus bas
edition() : fonction externe perso qui n'a jamais posé aucun problème (qui permet de transformer une abréviation en nom complet)
Voici le code généré (affichage de la source sous IE) après avoir tapé "colere" comme recherche :
Voici enfin ma fonction javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href='#n1-0' onclick="javascript:selectcarte('1-0','Colère de Dieu','9e','58');">Colère de Dieu </a> (Neuvième edition, n°58)<br />
En ajoutant un "alert()" au début de ma fonction javascript, IE ne me retourne rien. C'est donc probablement au niveau de l'appel de la fonciton que ça bloque...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function selectcarte(identifiant, nom, edition, numero) { cible = document.getElementById("n"+identifiant); cible.value = nom; cible = document.getElementById("e"+identifiant); cible.value = edition; cible = document.getElementById("nm"+identifiant); cible.value = numero; }
Help please ! :-)
Partager