jQuery → Ajax

Не прошло и полгода, как технология ajax проникла в мою деятельность :) Здесь, в частности, она применилась к отправке комментариев (не без участия jQuery).

Лучше, конечно, поменьше слов и побольше кода, но читать дальше не советую, так как вряд-ли кто-то увидит здесь что-нибудь новое

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
jQuery(document).ready(function() {
    jQuery('#submit').click(function() {
        var dataForm = jQuery('#CommentForm').serialize();
        jQuery.ajax({
            url: '/index/addcomment',
            data: dataForm,
            type: 'POST',
            success: function() {
                jQuery('#comments').load('/topic.php #comments > *');
            }
        });
        return false;
    });
});

Если в двух словах, то по нажатию на кнопку #submit происходит считывание данных формы, которые отправляются методом POST на обработку по указанному URL. После того, как данные были отправлены, происходит перезагрузка содержимого div-а, в котором находятся собственно комментарии. Конструкция с закрывающей треугольной скобкой и звёздочкой служит для того, что бы <div id="comments"> не загрузился внутрь этого же div, т.е. чтобы избежать ситуации, которая отображена ниже.

1
2
3
4
5
<div id="comments">
    <div id="comments">
        ...
    </div>
</div>

return false в конце обработчика события click необходим, что бы форма не отправлялась обычным способом, т.е. без ajax-а

Комментарии

avatar
morontt
avatar
На будущее - http://stackoverflow.com/questions/2457032/jquery-validation-change-default-error-message
ответить
avatar
morontt
avatar
Ещё - http://bassistance.de/jquery-plugins/jquery-plugin-validation/
ответить
avatar
morontt
avatar
Конференция - http://2011.symfonycamp.org.ua/venue/
ответить
avatar
Marlie
avatar
That's the thinking of a craeitve mind
ответить
avatar
Smiley
avatar
Just do me a favor and keep writing such trenchnat analyses, OK?
ответить
avatar
smidl
avatar
Элегентно, спасибо, добавлю и себе видимо на блог.
ответить
avatar
morontt
avatar
Добавляй :)
ответить
7 комментариев Написать что-нибудь
Адрес электронной почты нигде не отображается, необходим только для обратной связи.