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