FireFox VS IE

Fermé
Moudz - 23 juin 2008 à 17:26
 Moudz - 23 juin 2008 à 17:53
salut tout le monde:
apres un mois de travaille j'ai reussi a faire un drag & drop sur les tables en utilisant javascript, PHP et ajax
voila mon probleme

avec firefox:
je fais autant de fois des drag and drop, tout marche bien et a chaque fois que je relache la ligne l'ordre est enregistré ds la base

avec IE:
ce n'est pas le cas, apres 2 ou 3 d&d, les ordres ne sont plus enregistré par contre je ne recoit aucune erreur javascript ou php.....

d'ou pourrai provenir une tel erreur?
qlq a deja eu ce probleme?
A voir également:

2 réponses

donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
23 juin 2008 à 17:35
bonjour,

déjà je peux te dire que ça ne vient pas du PHP car c'est indépendant du navigateur, je pencherai plus pour une erreur de javascript... est-ce que tu détecte bien le navigateur avant de faire appel à ajax?
0
en fait dans mon code pour ajax je met cela:
----------------
function GetAjax(filename)
{
var data = null;
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;
}
xhr_object.open("Get", filename, true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
{
eval(xhr_object.responseText);
}
}
xhr_object.send(data);
}
----------------

cette methode fais la difference entre IE et firefox
puis pour la class du drag and drop je met du code de ce genre:
// on recupere l'evenement (pour le firefox on passe l'evenement en parametre, pour IE on le recupere avec window.event)
ev = ev || window.event;

donc normalement il doit marcher..... le fichier qui est appelé par ajax est codé en PHP avec des lignes comme:

echo "document.getelementbyid('toto').blablabla";
afin qu'il soit evalué dans le eval de la methode ci dessus....



y'a pas une sorte de buffer qui se rempli et qu'on doit vider ou qlq chose comme ca? c'est vraiment pas normal que sa marche dans FF et non pas dans IE alors que c'est un code assez simple......
0