bonjour à tous.
voila, j'ai un problème que je n'arrive pas à résoudre pour l'instant.
Firefox (derniere version) ne veut pas reconnaitre la fonction, pourtant, elle marche avec IE
ça fait plusieures heures que je passe dessus, et après x et x tests , rien à faire, j'espére que vous pourrez eclairer ma lanterne .
Il sagit d'une fonction javascript pour envoyer des panneaux dans un forum.
En fait, vaut mieux un exemple pour mieux expliquer, le voici ici, c'est un forum de tests ou les visiteurs peuvent poster.
Forum de test
donc, j'appelle les panneaux avec un textselect (Selectionnez vos smileys)
et ce textselect affiche les differentes pages de smileys dans un <div id="header"><SELECT size="1" class=form
onchange="envoieRequete(this.options[this.selectedIndex].value,'header');">
<OPTION VALUE="" SELECTED>Selectionnez vos Smileys</OPTION>
<OPTION VALUE="Srires.php">Rires Heureux Oeils Sauts</OPTION>
<OPTION VALUE="SOui.php">Oui Non Moqueurs</OPTION>
<OPTION VALUE="SAnges.php">Anges Demons</OPTION>
<OPTION VALUE="SAmour.php">Amour</OPTION>
<OPTION VALUE="SFete.php">Fête</OPTION>
<OPTION VALUE="SMusique.php">Musique</OPTION>
<OPTION VALUE="SConfus.php">Confus Etonnés Mefiants</OPTION>
<OPTION VALUE="SPleurs.php">Fatigués Pleurs tristes</OPTION>
<OPTION VALUE="SColere.php">Colère Méchants Violents</OPTION>
<OPTION VALUE="pan.php">Panneaux</OPTION>
<OPTION VALUE="SDefau.php">Par défaut</OPTION>
</SELECT>
géré par une fonction:
Les smileys marchent bien (avec IE et FF), ça envoie le bbcode dans le post du message.<script language="javascript">
function envoieRequete(url,id)
{
var xhr_object = null;
var position = id;
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
document.getElementById(position).innerHTML = xhr_object.responseText;
}
}
// dans le cas du get
xhr_object.send(null);
}
</script>
Mais le problème vient avec les Panneaux, ou il sagit de renvoyer un input texte :
et là, IE envoie le BBcode, mais avec FF rien à faire !<input type="text" size="18" maxlength="250" name="messagePan" value="Ecrivez votre texte ici" id="messagePan">
<a href="javascript:;" onclick="envoiPan(7);Compter(formulaire.msg, formulaire.limitchar);">
<img src="smileys/silly.gif" border="0" width="25" height="24"></a>
la fonction qui envoie les panneaux :
l'input text n'est pas directement placé dans le <div> ça fait que FF ne reconnait pas la function envoiPan(pann)<script language="javascript">
function envoiPan(pann)
{
panneau = document.formulaire.messagePan.value;
textselect=document.formulaire.msg;
if(ie)
{
if(textselect.c)
textselect.c.text=textselect.c.text + " " + (' [swf]url:pan/px') + pann + ('.swf?zonetxt=') + panneau + " " + ('largeur:350 hauteur:60 [/swf] ') + " ";
else
textselect.value += " " +('[swf]url:pan/px') + pann + ('.swf?zonetxt=') + panneau + " " + ('largeur:350 hauteur:60 [/swf] ') + " ";
}
else if(moz)
{
StartPos = textselect.selectionStart;
EndPos = textselect.selectionEnd;
LengthPos = EndPos - StartPos;
textselect.value = textselect.value.substr(0,StartPos) + " " + (' [swf]url:pan/px') + pann + ('.swf?zonetxt=') + panneau + " " + ('largeur:350 hauteur:60 [/swf] ') + " " + textselect.value.substr(EndPos);
}
textselect.focus();
document.formulaire.messagePan.value = " ";
}
</script>
une idée ?![]()
Partager