Jump to content

Problème javascript


Recommended Posts

Guest Hellway
Posted

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

Posted

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;

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...