我有这个代码:

<div contenteditable="true"><p><?php echo $row[1]; ?></p></div>

我可以获取 div 的内容并将它们作为 POST 参数发送,以便在 PHP 中使用它们吗?如果我可以使用:onchange="this.form.submit()"就好了。

谢谢!

最佳答案

不能发布 div 标签的内容,因为这只能在表单元素上进行。解决方法是使用一些 Javascript 在提交表单时填充 hidden 字段,并改为发布 hidden 字段。

观察以下 HTML。看到有一个 onsubmit 事件附加到 form 元素。我们在这里对浏览器说的是,在提交表单时,首先调用 Javascript 函数 process ,并且仅在该函数返回 true 时才提交:

<form method="post" action="process.php" onsubmit="javascript: return process();">
  <input type="hidden" id="hidden" name="content" vlaue="<?php echo $row[1] ?>">
  <div contenteditable="true" id="content"><p><?php echo $row[1] ?></p></div>
  <button type="submit">Post</button>
</form>

这将是您的 Javascript。您正在做的是获取 id 为 innerHTML 的元素的 content 并将其分配给 id 为 value 的元素的 hidden 并返回 true 以便表单可以成功提交:
<script>
function process() {
  document.getElementById("hidden").value = document.getElementById("content").innerHTML;
  return true;
}
</script>

而在 process.php 文件中,只需输出发布的内容:



希望这可以帮助!

关于php - 如何将 div 的内容作为 POST 参数发送?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21689499/

10-12 04:26