Я пытаюсь решить эту задачу с помощью MooTools.
Описание:
Я прикрепил прослушиватель событий к ссылке myButton
. Щелчок по этой ссылке инициирует запрос AJAX и обновляет содержимое myDiv
на основе текста ответа.
Во время этого запроса переменная POST отправляется в «button.php», но в данный момент она не используется.
(я хочу использовать ее позже)
ОК, в результате myDiv
получает точно такую же ссылку с тем же идентификатором (myButton
) + случайное число, чтобы мы могли видеть, что каждый щелчок генерирует новое число.
Проблема:
После первого нажатия на myButton
, myDiv
обновляется корректно, показывая случайное число. Когда я нажимаю myButton
во второй раз (на этот раз в недавно обновленном div), div больше не обновляется.
Обратите внимание, что мне нужно myButton
, чтобы быть внутри myDiv
, и myDiv
должен обновляться (обновляться) после каждого клика без необходимости обновлять всю страницу.
Может кто-нибудь показать мне, как решить эту задачу на основе этого упрощенного примера кода?
index.html
<html>
<head>
<script type="text/javascript" src="mootools-1.2.4-core-nc.js"></script>
<script>
window.addEvent('domready', function() {
$('myButton').addEvent('click', function(e) {
e.stop();
var myRequest = new Request({
method: 'post',
url: 'button.php',
data: {
action : 'test'
},
onRequest: function() {
$('myDiv').innerHTML = '<img src="images/loading.gif" />';
},
onComplete: function(response) {
$('myDiv').innerHTML = response;
}
});
myRequest.send();
$('myButton').removeEvent('click');
});
});
</script>
</head>
<body>
<div id="myDiv">
<a id="myButton" href="#">Button</a>
</div>
</body>
</html>
button.php
<a id="myButton" href="#">Button</a> clicked <?php echo rand(1,100); ?>