替换div的内容

时间:2015-07-01 15:46:52

标签: javascript php jquery html

我尝试在将div中的内容保存到数据库后替换它而不重新加载页面。当我单击保存按钮时,编辑窗口消失,但是在我重新加载页面之前,帖子不会更新。每篇文章都是通过以下模板构建的,并且有多个帖子。

var formatPost = function(d) {
        var s = '';
        s = '<div class="postWrapper" data-id="' + d.post_id + '"><h2 class="postHeading">' + d.title + '</h2>';
        s += '<div class="postBody"> <p>' + d.body  + '</p> </div>';
        s += '<p> Posted on: ' + d.date + '</p>';  
        s += '<div class="btn editButton">Edit Post</div>'
        s += '<div class="btn deleteButton">Delete</div>';          
        s += '</div>'

        return s;
    };

按下编辑按钮时运行以下功能

function(data) {
         var editableText = '<div class="editPostContainer" data-id="' + data.post_id + '">'
            editableText += '<input type="text" class="editPostHeader" value="' + data.title + '">';
            editableText += '<textarea class="editPostText">' + data.body + '</textarea>';
            editableText += '<div class="btn saveEditButton">Save</div>';
            editableText += '<div class="btn cancelButton">Cancel</div>';                
            editableText += '</div>';

            $(self).parent().append(editableText);
        }

当我点击代码运行后点击保存按钮

 $.post(settings.server, {
                saveID: $(this).parent().data('id'),
                title: $('.editPostHeader').val(),
                body: $('.editPostText').val()
            }, function(data){

                $(this).parent().siblings('.postHeading').text(data.title);
                $(this).parent().siblings('.postBody').text(data.body);

            });

最后是在这期间处理数据库的PHP。

function save_post($id, $title, $body)
{
    global $link;

    $sql = "UPDATE post SET title= '$title',body= '$body' WHERE post_id= $id";

    mysqli_query($link, $sql);

    $sql = 'SELECT * FROM post WHERE id=' . $id;
    $result = mysqli_query($link, $sql);

    $saveResult = mysqli_fetch_assoc($result);

    print json_encode($saveResult);
}

0 个答案:

没有答案