Aller au contenu

Problème javascript


Guest Hellway

Sujets conseillés

Guest Hellway

Salut tout le monde, j'ai un script qui génère un tableau de sélection de smiley. Il tourne parfaitement sur Mozilla, mais i.e. semble, une fois de plus, oeuvrer pour mon désarroi.

Bref, voici le script :

<!--
// Sélection d'un avatar dynamiquement par Hellway
// Génère du xhtml 1.0 Strict
// Ce script ne peut être utilisé sur un site
// ne respectant pas les normes du W3C
// Les avatars doivent tous avoir la même extension

function Initialisation()
{
// Initialisation des tableaux (Changer ici pour de nouveaux avatars ou groupes d'avatars)

ImgGrp = new Array;
Image = new Array;
Position = new Array; // Erreur : Pas implémenté Ligne 11

// Chemin des images
Chemin="http://fusa2.free.fr/Images/Smiley/";
// Pointeur du champs de message cible
if(document.getElementById('Modifier')) { Boite=document.forms['Modifier'].elements['Contenu']; }
else { Boite=document.forms['Ajouter'].elements['f98']; }
// Pointeur du champs cible
Cible=document.forms['Ajouter'].elements['Smiley'];
// Extension des avatars (ex: .gif)
Extension=".gif";
// Avatar par défaut
DAvatar="Smil00";
// Groupes d'avatars
ImgGrp[1]= "Rire";
Position[ImgGrp[1]] = 1;
Image[ImgGrp[1]] = new Array;
Image[ImgGrp[1]][1] = "Smil04";
Image[ImgGrp[1]][2] = "Smil02";
Image[ImgGrp[1]][3] = "Smil09";
Image[ImgGrp[1]][4] = "Smil01";
Image[ImgGrp[1]][5] = "Smil05";
Image[ImgGrp[1]][6] = "Smil06";

ImgGrp[2]= "Eton";
Position[ImgGrp[2]] = 1;
Image[ImgGrp[2]] = new Array;
Image[ImgGrp[2]][1] = "Smil12";
Image[ImgGrp[2]][2] = "Smil15";
Image[ImgGrp[2]][3] = "Smil43";

ImgGrp[3]= "Ener";
Position[ImgGrp[3]] = 1;
Image[ImgGrp[3]] = new Array;
Image[ImgGrp[3]][1] = "Smil11";
Image[ImgGrp[3]][2] = "Smil28";
Image[ImgGrp[3]][3] = "Smil18";

ImgGrp[4]= "Pleure";
Position[ImgGrp[4]] = 1;
Image[ImgGrp[4]] = new Array;
Image[ImgGrp[4]][1] = "Smil38";
Image[ImgGrp[4]][2] = "Smil13";
Image[ImgGrp[4]][3] = "Smil14";
Image[ImgGrp[4]][4] = "Smil26";

ImgGrp[5]= "Deso";
Position[ImgGrp[5]] = 1;
Image[ImgGrp[5]] = new Array;
Image[ImgGrp[5]][1] = "Smil07";
Image[ImgGrp[5]][2] = "Smil10";
Image[ImgGrp[5]][3] = "Smil22";
Image[ImgGrp[5]][4] = "Smil24";

ImgGrp[6]= "Cool";
Position[ImgGrp[6]] = 1;
Image[ImgGrp[6]] = new Array;
Image[ImgGrp[6]][1] = "Smil17";
Image[ImgGrp[6]][2] = "Smil03";
Image[ImgGrp[6]][3] = "Smil08";
Image[ImgGrp[6]][4] = "Smil16";
Image[ImgGrp[6]][5] = "Smil19";

// Affichage du tableau de sélection des avatars
var Affichage = new Array;
Affichage[1]="<table><caption>Selection d'un avatar</caption><tr><th scope=\"row\">Plus ---></th>";
Affichage[2]="<th scope=\"row\">Selection</th>";
Affichage[3]="<th scope=\"row\"> Moins ---></th>";

for(i=1; i<ImgGrp.length; i++)
{
Affichage[1]= Affichage[1] + "<td><a href=\"javascript:Suivant('" + ImgGrp[i] + "');\" title=\"Avatar suivant\"><img src=\"Images/Site/Plus.gif\" alt=\"Bouton&: Plus\" /></a></td>";
Affichage[2]= Affichage[2] + "<td><div id=\"" + ImgGrp[i] + "\"></div></td>";
Affichage[3]= Affichage[3] + "<td><a href=\"javascript:Precedent('" + ImgGrp[i] + "');\" title=\"Avatar précédent\"><img src=\"Images/Site/Moins.gif\" alt=\"Bouton&: Moins\" /></a></td>";
}

Affichage[1]+="<td rowspan=\"3\"><div id=\"Afficher\"></div></td><td rowspan=\"3\"><a href=\"javascript:Message();\" title=\"Insérer l'avatar dans le corps du message\"><img src=\"Images/Site/Retour.gif\" alt=\"Bouton : Insérer\" /></a></td></tr>";
Affichage[2]+="</tr>";
Affichage[3]+="</tr></table>";

document.getElementById("Avatar").innerHTML= Affichage[1] + Affichage[2] + Affichage[3];

// Initialisation des avatars

for(i=1; i<ImgGrp.length; i++)
{
document.getElementById(ImgGrp[i]).innerHTML = "<a href=\"javascript:Afficher('" + Image[ImgGrp[i]][Position[ImgGrp[i]]] + "');\" title=\"Sélectionner cet avatar\"><img src=\"" + Chemin + Image[ImgGrp[i]][Position[ImgGrp[i]]] + Extension + "\" alt=\"Avatar\" /></a>";
}

// Initialisation de l'avatar par défaut
Afficher(DAvatar);

}

// Fonctions néccessaires au script

// Fonctions permettant d'afficher l'avatar suivant
function Suivant(Grp)
{
if(Position[Grp]<(Image[Grp].length-1))
{
document.getElementById(Grp).innerHTML = "<a href=\"javascript:Afficher('" + Image[Grp][Position[Grp]+1] + "');\" title=\"Selectionner cet avatar\"><img src=\"" + Chemin + Image[Grp][Position[Grp]+1] + Extension + "\" alt=\"Avatar\" /></a>";
Position[Grp] = Position[Grp] + 1;
}
}

// Fonction permettant d'afficher l'avatar précédant
function Precedent(Grp)
{
if(Position[Grp]>1)
{
document.getElementById(Grp).innerHTML = "<a href=\"javascript:Afficher('" + Image[Grp][Position[Grp]-1] + "');\" title=\"Selectionner cet avatar\"><img src=\"" + Chemin + Image[Grp][Position[Grp]-1] + Extension + "\" alt=\"Avatar\" /></a>";
Position[Grp] = Position[Grp] - 1;
}
}

// Fonction servant à mettre l'avatar en grossissement
function Afficher(Avatar)
{
if(document.getElementById) { document.getElementById("Afficher").innerHTML = "<img src=\"" + Chemin + Avatar + Extension + "\" width=\"30\" height=\"30\" alt=\"Avatar\">"; }
Cible.value = Avatar;
}

// Fonction permettant de mettre le smiley dans le message
function Message()
{
Boite.value=Boite.value + "[img src=" + Chemin + Cible.value + Extension + " alt=Avatar /]";
}

window.onload=Initialisation();
//-->

Et les erreurs d'i.e. :

La plus fréquente : Pas implémenté Ligne 11. Ce qui correspond à la ligne à laquelle je crée le tableau "Position".

Parfois : Y se lâche carrément et me claque un "UnCaught Exception" ce qui, je pense, doit signifier qu'il n'est pas capable de trouver la source de l'erreur... Inquiètant...

La page sur laquelle j'utilise ce script est là :

Page du script

Merci à ceux qui pourront m'aider.

@+ Hell

Lien vers le commentaire
Partager sur d’autres sites

As tu essayé de changer le nom de ta variable "Position", "Image" etc ... car parfois tu peux tomber sur un mot réservé par le compilateur.

Je te conseillerais d'adopter une convention de nommage pour tes variables.

Par ex:

aPosition = new Array;

aImage = new Array;

aImgGrp = new Array;

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...