Javascript 从contenteditable div获取值

Javascript 从contenteditable div获取值,javascript,php,ajax,jquery,Javascript,Php,Ajax,Jquery,到目前为止,我一直使用textarea作为表单的主要输入。我将其更改为使用contenteditablediv,因为我想允许一些格式设置 以前,当我使用textarea时,表单可以通过Ajax和PHP很好地提交。现在我已经将它改为使用contenteditable div,它不再工作了,我也不知道为什么 HTML: PHP(post.PHP):只需进行典型的检查并回显消息。这只是一段代码 <?php $user_id = $_POST["user_id"]; $displ

到目前为止,我一直使用textarea作为表单的主要输入。我将其更改为使用
contenteditable
div,因为我想允许一些格式设置

以前,当我使用textarea时,表单可以通过Ajax和PHP很好地提交。现在我已经将它改为使用contenteditable div,它不再工作了,我也不知道为什么

HTML:

PHP(
post.PHP
):只需进行典型的检查并回显消息。这只是一段代码

<?php

    $user_id = $_POST["user_id"];
    $display_name = $_POST["display_name"];
    $post_content = $_POST["post_field"];

    $array = array('message' => $post_content);
    echo json_encode($array);

?>

出于某种原因,自从我添加contenteditable div后,它就不再发送帖子内容了


请帮忙

未序列化
div
的内容。你必须自己添加它们

var data = $(this).serialize();
data += "post_field=" + encodeURIComponent($("[name=post_field]").html());

您可能需要将contentEditable div中的内容绑定到表单中的一个隐藏字段,并将其发送到ajax调用。您可以尝试生成an或a吗?我认为它们更适合与表单一起使用。不是我的问题,而是+1表示数据+=字符串。很好的一点code@AndyHolmes这个网站的很大一部分内容是对其他人的问题进行投票。我尝试了你的建议,但仍然不起作用。下面是我添加的内容:不管怎样,我只是将行更改为
data:$(this).serialize()+“&post\u field=“+$('[name=post\u field]')。html(),
。谢谢你帮我。
<?php

    $user_id = $_POST["user_id"];
    $display_name = $_POST["display_name"];
    $post_content = $_POST["post_field"];

    $array = array('message' => $post_content);
    echo json_encode($array);

?>
var data = $(this).serialize();
data += "post_field=" + encodeURIComponent($("[name=post_field]").html());