4

我正在使用bootstrap- wysihtml5 在我的引导站点中实现 WYSIHTML 编辑器。但我不明白如何将 HTML 内容传递给 php 页面以便将内容保存在数据库中。虽然我已经为 textarea 使用了 ID(内容),但 php 页面没有获取数据。“Get”的 URL 在末尾显示“?_wysihtml5_mode=1”而不是“?content=...”

<form action="save.php" method="get">
   <textarea class="textarea" id="content" placeholder="Enter text ..."></textarea>
   <input type="submit" class="btn btn-primary" />
</form> 

<script>$('#content').wysihtml5(); </script>
4

2 回答 2

3

编辑:您需要将名称属性添加到您的文本区域,以便将其发布到您的 PHP。我完全忘记了这一点。所以忘记我所做的所有其他修改,只需在原始代码中对您的 textarea 执行此操作:

<textarea class="textarea" id="content" name="content" placeholder="Enter text ..."></textarea>

您还应该通过 POST 请求发送值,因为在 URL 参数中发送 html 不是一个好主意。

老答案:

您还需要在提交表单时发布 html。有多种方法可以做到这一点,但作为一个例子,您可以添加一个隐藏的输入字段,您将在其中存储 html,然后再将其发送到 php。

首先,我对您的 html 进行了一些更改,现在表单是通过 POST 请求发送的,如果您想发送 HTML,这比通过 URL 参数更好:

<form id="myform" action="save.php" method="POST">
   <textarea class="textarea" id="content" placeholder="Enter text ..."></textarea>
   <input type="submit" class="btn btn-primary" />
   <input type="hidden" id="html" />
</form>

添加 javascript 事件以在提交值之前更改隐藏字段值:

$("#myform").submit(function() {
   // Retrieve the HTML from the plugin
   var html = $('#content').val();
   // Put this in the hidden field
   $("#html").val(html);
});
于 2013-02-01T10:59:14.180 回答
0
<script>
$('#content').wysihtml5();
$(document).ready(function() {
    $('.btn btn-primary').click(function() {
        var content = $('#content').html();
        $.ajax({
            url: 'update.php',
            type: 'POST',
            data: {
                content: content
            }
        });
    });
});
</script>

<form>
   <textarea class="textarea" id="content" placeholder="Enter text ..."></textarea>
   <input type="submit" class="btn btn-primary" />
</form>

更新.php

<?php
DATABASE_CONNECTION

$GET_THE_CONTENT_HERE = $_POST[content];

INSERT TO DATABASE
?>
于 2013-02-01T11:00:05.810 回答