将<div>样式与其内容保存在一个可信的div </div>中

时间:2014-11-20 19:08:05

标签: javascript php jquery contenteditable

这个问题的标题可能不清楚,但这就是我为什么要在这里解释它的原因。我有一个令人满意的div,就像我的博客文章(adminpanel)的textarea。让db数据在contenteditable div中正确显示是没有问题的。但是当我将更新的文章版本保存到我的数据库时,它不会保存div类型( 作为示例),这些样式位于contenteditable div中。

示例:

<div id="article_content" class="edit_article_content_container_inner" contenteditable="true"><?php echo $db_content ?></div>

输出:

<div id="article_content" class="edit_article_content_container_inner" contenteditable="true">
<div>Dear visitor,</div>
<div><br /></div>
<div>Thank you for visiting</div>
</div>

当我进行更改并决定保存新版本时,db_content列会更新,如下所示:

Dear visitor,Thank you for visiting this page

因此,在保存新的更新文章时,contenteditable div会破坏我的div样式。有没有办法仍然存储这些div样式?

谢谢。

这是我进行ajax调用的部分

$("#btn-save-new-article").on('click', function (event) {
        var article_id = $('.edit_article_title_container').attr('data-article-id');
        var article_title = $("#article_title").text();
        var article_content = $("#article_content").text();
        event.preventDefault();
        $.ajax({
            type: "POST",
            url: "/includes/db-requests/admin/db-save-edited-article.php",
            data: {article_id: article_id, article_title: article_title, article_content: article_content},
            success: function(data,textStatus,jqXHR){   finish_editing_article(data,textStatus,jqXHR);  }
        });
    });

    function finish_editing_article(data,textStatus,jqXHR) {
        //alert (data);
        if (data == "article_edited_success") {
            //location.reload();
            alert(data);
        } else {
            alert(data);
        }
    }

如您所见,我正在存储article_id,article_title和article_content。

接收数据到实际存储它:

//DIV SUBMITTED DATA
$article_id = safe($mysqli,$_POST['article_id']);
$article_title = safe($mysqli,$_POST['article_title']); 
$article_content = $_POST['article_content'];

1 个答案:

答案 0 :(得分:2)

.text()只返回元素的文本内容。 .html()会返回HTML完整的内容。

var article_content = $("#article_content").html();