Ajax sous firefox

bonjour tous le monde

alors voila, j ai mon ajax qui marche sous internet exploreur mais pas sous firefox!

pourtant, quand on tape un mot dans le champs, une recherche s’effectue bien dans la base de donnee et affiche le mot qui ressemble le plus a ce qui est ecrit grace a l’ajax que ce soit sous firefox ou sous internet exploreur…

mais sous firefox, si je valide le formulaire, la variable ne passe pas!!!

alors je sais pas pourquoi ce ne marche pas…

mon formulaire :

<input type="text" name="pseudo"
  onKeyUp="verifPseudo(this.value,'verif_mer_entreprise.php')" />
<div id="pseudobox"></div>

ma fonction verifpseudo (inclus dans un fichier)


  <script type='text/javascript'> 
function verifPseudo(pseudo,fichier_called)
{
	if(pseudo != '')
	{
		if(pseudo.length<2)
		writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b>ce nom est trop court</span>');
		else if(pseudo.length>30)
		writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce nom est trop long</span>');
		else if(texte = file(fichier_called+'?pseudo='+escape(pseudo)))
		{
	writediv(texte);
		}
	}
}
 
 
function writediv(texte)
{
	document.getElementById('pseudobox').innerHTML = texte;
}
 
function file(fichier)
{
	if(window.XMLHttpRequest) // FIREFOX
	xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
	return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}
 
var xhr = null; 
	 
function getXhr()
{
	if(window.XMLHttpRequest) // Firefox et autres
		xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	{ // Internet Explorer 
		try {xhr = new ActiveXObject("Msxml2.XMLHTTP");} 
		catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP");}
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
}
</script>

et enfin la page verif_mer_entreprise.php qui est appelée…

 $result = mysql_query("SELECT num,rs, ville  FROM entreprise_crci WHERE rs LIKE '%".$_GET["pseudo"]."%'");
$nombreligne = mysql_num_rows($result);
 
echo "<select size='$nombreligne' name='num_entreprisemer' class='corps'>";
$k = 0;
while ($k<$nombreligne)
{
$num_entreprise = mysql_result($result,$k,"num");
$raison_sociale = mysql_result($result,$k,"rs");
$ville = mysql_result($result,$k,"ville");
 
if ($k==0)
{
echo"<option selected value='$num_entreprise'>$raison_sociale - $ville</option>";
}
else
{
echo"<option value='$num_entreprise'>$raison_sociale - $ville</option>";
}
 
$k++;
}
 
 
 
echo "<\select>";

si vous pouviez me dire ce qui ne va pas siouplais…merci!

As-tu essayé l’extension Firefox Firebug ?

Si ça marche bien sous IE, alors teste en ajoutant les entêtes pour gérer le cache et surtout celles permettant de le désactiver.

cf. www.wikini.net… (pas tout lu, mais google est là même si google c’est le mal)

merci pour vos reponses c est gentil
-ha zut, firebug ne resout pas mon probleme-
encore merci, je cherche toujours…
Edité le 04/09/2008 à 08:34

salut,

j’ai le meme probleme que toi !! et je me suis aperçu de 2 choses :

  • la variable passe d’une page a une autre ( en GET en tous les cas) mais pas dans une meme page sauf si…
  • le tag <form est juste au dessus de l’appel en ajax ??

Si tu as d’autres infos je suis preneur !!!

pardon???

que faut il faire pour que la variable passe s’il te plais?
ca me parait flou…

merci

ben c etrange…
si j’envoi la variable (chargée en ajax) de index.php à tutu.php => pas de probleme
si j’envoi la variable (chargée en ajax) de tutu.php à tutu.php =>ne fonctoinne pas hormis si je mets mon entete de formulaire juste au dessus du div qui accueille l’appel ajax donc :

<form ....
=> ne fonctionne pas mais <form ....
=> fonctionne !!!!

Je n’y comprends rien… si quelqu’un à une idée ?