Как я могу обновить DOM после Ajax Call (jQuery)? - PullRequest
6 голосов
/ 16 июля 2011

Как я могу обновить DOM, добавив новый элемент записи после вызова?

Должен ли я возвращать вновь вставленное содержимое записи БД при обратном вызове, а затем добавить с помощью jquery?

Пожалуйста, сообщите, если нетдостаточно данных для ответа на вопрос.

$(function(){

        $('#postentry').submit(function() {
          var tyu = $('#tittle_ent').val();
          if(tyu.length <= 2)
            {alert('Enter More Text!'); return false;}else
            {
                $.post(  
                 "posts_in.php",  
                 $("#postentry").serialize(),  
                    function(data){  
                        //alert(data); 
                    }  
                );  
                return false;
            }
        });

    });

Каждая запись выглядит следующим образом:

<div id="post349" class="myclass">
This is some text.    
</div>

Ответы [ 4 ]

2 голосов
/ 16 июля 2011

Я бы использовал $.ajax() вместо $.post():

$.ajax({
    type:'post',
    url: 'posts_in.php',
    data: $("#postentry").serialize(),
    success:function(data){
        var id='post349';
        $('<div></div>').attr('id',id).addClass('myclass').html(data).appendTo('#records_wrapper');
    }
});

Быстрая демонстрация того, как div будет добавляться и заполняться: http://jsfiddle.net/AlienWebguy/zuPA2/1/

1 голос
/ 16 июля 2011

Вы можете либо вернуть полную запись в окружающем div из php, либо вы можете просто получить вновь вставленный идентификатор и построить запись в javascript.

0 голосов
/ 16 июля 2011

Если данные содержат новую запись, так что да, проанализируйте ее и добавьте куда и как вы хотите.

Создав новый пример jsfiddle.net, я могу помочь вам немного больше ...

0 голосов
/ 16 июля 2011
$.post(  
     "posts_in.php",  
     $("#postentry").serialize(),  
        function(data){  
            $('#myDivOnThePage').append(data);
        }  
 );  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...