我有这个代码:
<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/