Titre: AJAX sous FireFox
Posté par: hairmenu le le 22-03-2007 a 16:18:54
Bonjour,
J ai developper plein de form avec Ajax, qui marchent sous IE et FF mais subitement, j ai un form qui ne marche plus sous FF. La donnée n'est plus passé dans le POST.
Pourtant comme vous pourrez voir le code est basique! Seulement voila, la seconde varaible (id_project), n est jamais recu par le POSt sous Ff (marche sous IE cependant).
C est trés frustrant comme truc, quelqu un a une suggestion?
=== test2.php == <select name='project' id='id_project'> <option value='3'>3</option> <option value='4'>4</option> </select> ====
==test.php === <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <?php
while(list($key,$val) = each($_POST)){ echo "$key => $val<BR>"; }
?> <script language="javascript"> function displayproject(f){ var xhr_object = null; if(window.XMLHttpRequest) // Firefox xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } var filename = "test2.php"; var data = null; xhr_object.open("POST", filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { document.getElementById('toto').innerHTML = xhr_object.responseText; } } xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr_object.send(data);
} </script>
<table border="1" cellpadding="5" cellspacing="1"> <form name="form2" action="" method="post"> <tr> <td > <b>Client :</b> </td> <td > <select name="id_client" id="clientlist" onChange="displayproject(form2)"> <option value="5">5</option> <option value="6">6</option> </select></td> </tr> <tr> <td > <b>Project :</b> </td> <td> <div id="toto"> </div> </td> </tr> <tr > <td colspan=2> <input type="submit" align="center"> </td> </tr> </form> </table> </body> </html>
====== |
Titre: Re:AJAX sous FireFox
Posté par: tripy le le 02-11-2007 a 22:20:33
Ok, j'ai 2 nuits blanches dans la tête et je vois un peu trouble, mais si je vois pas trop faux, tu as
Code:
function displayproject(f)
|
|
qui prend f comme la référence au formulaire.
Puis, plus bas tu fais un
Code:
Et enfin, tu lance ta requête avec
Code:
Ca me parait un peu bizarre, pour dire le moins, puisque tu as assigné null comme valeur à ta variable data... Mais je ne suis pas habitué à cette syntaxe là, j'avoue...
Perso, je ne suis pas fan d'envoyer un form comme ça, j'avoue. Je préfère extraire et valider une à une toutes les données nécessaire, et construire mon vecteur de données à envoyer. Au moins je suis certain de ce qui se passe... |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|