J'essaye d'accomplir cette tâche en utilisant MooTools.La requête MooTools échoue
Description:
J'ai trois boutons. Deux boutons à l'extérieur myDiv
et un bouton à l'intérieur myDiv
.
Un clic sur l'un de ces boutons initie une requête AJAX (en passant la variable button
à "button.php") et met à jour le contenu myDiv
en fonction du texte de la réponse.
Donc, après la mise à jour, myDiv
montre Button3
lien + un message montrant le bouton qui a été cliqué.
Le problème:
Tout semble fonctionner très bien, mais après quelques clics, il arrive que myDiv
montre loader.gif
image et arrêts. Après cela, si j'attends quelques instants, le navigateur cesse parfois de fonctionner (se bloque).
J'ai remarqué ce problème avec IE6. Est-ce que quelqu'un peut dire ce que ce problème signifie et si cela peut être évité?
index.html
<html>
<head>
<script type="text/javascript" src="mootools/mootools-1.2.4-core-nc.js"></script>
<script type="text/javascript" src="mootools/mootools-1.2.4.4-more.js"></script>
<script type="text/javascript">
window.addEvent('domready', function() {
$("myPage").addEvent("click:relay(a)", function(e) {
e.stop();
var myRequest = new Request({
method: 'post',
url: 'button.php',
data: {
button : this.get('id'), test : 'test'
},
onRequest: function() {
$('myDiv').innerHTML = '<img src="images/loader.gif" />';
},
onComplete: function(response) {
$('myDiv').innerHTML = response;
}
});
myRequest.send();
});
});
</script>
</head>
<body>
<div id="myPage">
<a href="#" id="button1">Button1</a>
<a href="#" id="button2">Button2</a>
<div id="myDiv">
<a href="#" id="button3">Button3</a>
</div>
</div>
</body>
</html>
button.php
<a href="#" id="button3">Button3</a>
<br><br>
<?php echo 'You clicked ['.$_REQUEST['button'].']'; ?>
Est-ce que ça arrive seulement avec IE? et +1 pour une question très bien écrite – Anurag
J'ai testé cet exemple de code avec Firefox 3.6.3 et Opera 10.53 et je n'ai remarqué aucun comportement anormal. Le problème se produit uniquement avec IE6. – acoder