Rechercher : dans
Par :

Bug IE Javascript, Ajax avec Prototype

Dernière réponse le 6 aoû 2009 à 18:34:20 gcornut, le 22 mar 2009 à 23:29:26 
 Signaler ce message aux modérateurs

Bonjour,
J'utilise la librairie javascript prototype pour faire de l'ajax. J'ai fais une fonction qui marche parfaitement sur Firefox et Webkit (Safari, Chrome ...) mais pas sur Internet Explorer 7.
Voilà la fonction:

var myAjax = new Ajax.Request(
"./ajax/getmessmod.php",
{
method: 'post',
parameters: "modid=1",
onSuccess: function(transport, json) {
var modform = new Element('form', {id: 'modform', action: scriptname, method: "post", enctype: "multipart/form-data", style: "display:none;margin-bottom:15px;"});
var modheight = $('post1').offsetHeight + 100 + "px";
var modtext = new Element('textarea', {name: "messagemod", style: "width:449px;height:"+modheight});
modtext.innerHTML = transport.responseText;
$('post1').innerHTML = "";
var modok = new Element('input', {id: "ok", type: "submit", value: "", style: "float:right;margin-left:0px;"});
var modhid = new Element('input', {type: "hidden", name: "modid", value: "1"});
$('post1').appendChild(modform);
modform.appendChild(modtext);
modform.appendChild(modok);
modform.appendChild(modhid);
Effect.BlindDown('modform');
},
});


Cette fonction appelle un fichier php qui renvoi du texte venant . Un formulaire est alors crée puis le texte récupérer avec l'ajax est insérer dans le formulaire afin de pouvoir modifier le texte venant de la base de donnée.
Je pense que le problème vient de l'interprétation du javascript par Internet Explorer et pas de Prototype mais je sais pas vraiment.

Configuration: Mac OS 10.5
Safari 4 Public Beta (Webkit 5528.16, r41755)

Meilleures réponses pour « Bug IE Javascript, Ajax avec Prototype » dans :
Que peut faire le web pour vous ? VoirLe "web", ce sont les pages HTML affichées dans votre navigateur. Elles ont évolué techniquement (hmtl, css, javascript, ajax, Flash, Java...) au point de devenir des outils à part entière. Que peut donc faire le web pour vous ? Voici une...
Librairies Javascript (Prototype/Scriptaculous/Yahoo UI, etc.) VoirPourquoi réinventer la roue alors qu'il existe une multitude de librairies offrant des fonctionnalités avancées ? Néanmoins, devant la multitude de librairies, il vaut mieux savoir en quelques lignes quelles sont leurs fonctionnalités, leurs atouts...
Désinstaller IE 8 VoirDésinstallation d'IE 8 Vous avez installé IE8 pour le tester et vous souhaitez désormais revenir à une version précédente ? Voici la procédure à suivre pour les OS suivants : Windows Vista Windows XP Windows Vista Ouvrir le...
AJAX (Asynchronous Javascript And XML) VoirIntroduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web...
AJAX (Asynchronous Javascript And XML) VoirAvantages liés à AJAx Les sites web utilisant AJAX bénéficient des avantages suivants : Une interface réactive car AJAX permet de modifier localement la page web ; Une rapidité d'exécution car seules les données à modifier dans la page sont...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...

1

ben_maury, le 19 jun 2009 à 17:37:22

Bonjour,

J'ai le même problème. As tu eu des avancées là dessus?

Merci,

A +

Répondre à ben_maury

2

gcornut, le 19 jun 2009 à 20:46:37

Bonjour,
Merci d'avoir relancé le sujet. Alors j'ai étudié la question, j'ai essayer d'éxecuter la fonction directement grâce a une console javascript (http://www.billyreisinger.com/jash/) rien a faire je trouve pas le problème alors j'ai opté pour une solution radicale: Pas d'ajax pour IE mais simplement une page en plus ( dur, dur la vie de développeur web avec IE :( )

Répondre à gcornut

3

ben_maury, le 20 jun 2009 à 17:37:36

OK c'est reçu.

Si jamais je trouve, je t'informe!!

Ben

Répondre à ben_maury

4

hackskill, le 8 jui 2009 à 22:40:12

Voila mon site web:http://hackskill.new.fr
il est trop cool (creer entierement par moi)

hackskill...

Répondre à hackskill

5

 Pat, le 6 aoû 2009 à 18:34:20

Bonjour,
J'arrive peut être un peu tard, mais pour ceux qui comme moi viennent d'avoir le problème, j'ai résolu le mien juste en corrigeant la syntaxe.

Par exemple si je prend un morceau de code de gcornut, du dimanche 22 mars 2009 à 23:29:26...

Plutot que d'écrire :
var modform = new Element('form', {id: 'modform', action: scriptname, method: "post", enctype: "multipart/form-data", style: "display:none;margin-bottom:15px;"});

Je rajoute des quotes à tous les noms des proprietés de mon nouvel élément (pas que à 'form'). D'où:
var modform = new Element('form', {'id': 'modform', 'action': scriptname, 'method': "post", 'enctype': "multipart/form-data", 'style': "display:none;margin-bottom:15px;"});

J'espere que cela rendra heureux plus d'un.

Répondre à Pat