Php 无法从ckeditor jquery插件检索数据

Php 无法从ckeditor jquery插件检索数据,php,javascript,jquery,html,ckeditor,Php,Javascript,Jquery,Html,Ckeditor,在过去的几个小时里,我一直试图简单地将在ckeditor(textarea)中输入的数据(text/html)发布到PHP文件中 他们的API声称数据会自动将数据发布到表单提交上,但它不会,它不会返回任何内容 编辑:以下是真实代码: <?php require("fns.php"); // grab tab content from database $tab = array(); $query ="SELECT * FROM tabs";

在过去的几个小时里,我一直试图简单地将在ckeditor(textarea)中输入的数据(text/html)发布到PHP文件中

他们的API声称数据会自动将数据发布到表单提交上,但它不会,它不会返回任何内容

编辑:以下是真实代码:

    <?php
    require("fns.php");
    // grab tab content from database
    $tab = array();
    $query ="SELECT * FROM tabs";
    $db_conn = db_connect();
    $results = mysql_query($query,$db_conn);
    while($row = mysql_fetch_array($results))
    {
    $tab[]= $row;
    }

// form validation
if($_POST['btnSave'])
{
    // grab selected tab ID
    $tabId = $_POST['tabId'];
    $title = $_POST['txtTitle'];
    $content = $_POST['ckeditor'];


    // all fields required
    if(isset($tabId) && isset($title) && isset($content))
    {   
        // update recorde where id = tabId
        $query = "UPDATE tabs SET title = '$title', content = '$content' WHERE id = $tabId";
        if($content !== "")
        {
            if(mysql_query($query,$db_conn))
            {
                $message = "<h3 style='color:#003300;'>Changes Saved!</h3><br /><p>".$content."</p>";
                header("Location:testtabs.php");
            }
        }
        else
        {
            $message ="<h3 style='color: #950000;'>Content cannot be blank!</h3>";
        }
    }
}

使用textarea的内容填充编辑器,从textarea(甚至可能从其他元素,我不知道)创建CKEditor的距离。 无论如何,当您使用jQuery时:

$('#ckeditor').val("Initial text (test)");
您正在将文本放入textarea标记中。 创建CKEditor实例后,需要使用CKEditor方法获取数据:

具体而言,我认为您需要:

PS:对不起,我的英语不好


编辑:没有看到编辑,抱歉

恢复到传统的ckeditor javascript,现在可以正常工作了

    CKEDITOR.replace( 'ckeditor' );
    // Tab initialization
// Tab initialization
var $tabs = $('#tabs').tabs({
    select: function(event, ui){
        /*
        ui.index: zero based index selected tab 
        ui.tab: anchor element of the selected tab
        ui.panel: element containing the content for the selected tab
        */

        // get current tab ID for php script
        var currentId = ui.index + 1;
        $("#tabId").val(currentId);
        var tabName = $(ui.tab).text();
        var content = $(ui.panel).html();
        // swap title
        $( '#title' ).val( tabName );
        // swap content
        CKEDITOR.instances['ckeditor'].setData(content);

    }   
});

你有没有检查过你的$_POST数组中的数据?这对我来说很好,似乎是正确的方法。您在控制台中有任何错误吗?我们说的不是php,只是JS,对吗?我的意思是,alert(data)或console.log(data)应该向您显示数据与.val()配合良好,我在许多网站上都使用过,并且在所有浏览器下都进行了测试,旧版本的tooThanks可以让大家快速响应!也许我过度简化了代码…更改$('ckeditor').val()的位置发生在jquery选项卡选择事件中。它在这个select事件之外工作正常,但在事件内部失败。我在$\u POST上收到一个空字符串,我读到ckeditor返回的值与任何普通表单元素一样,但作为jquery插件,它似乎不返回。我想我们需要更多信息:val是如何更改的?选择活动的具体内容是什么?您是否只有一个或多个ckeditor?(每个标签可能有一个?)很抱歉问这么多,但是没有真正的代码是很难帮助的(至少对我来说)。我使用一个ckeditor独立编辑所有三个标签。
$('#ckeditor').val("Initial text (test)");
    CKEDITOR.replace( 'ckeditor' );
    // Tab initialization
// Tab initialization
var $tabs = $('#tabs').tabs({
    select: function(event, ui){
        /*
        ui.index: zero based index selected tab 
        ui.tab: anchor element of the selected tab
        ui.panel: element containing the content for the selected tab
        */

        // get current tab ID for php script
        var currentId = ui.index + 1;
        $("#tabId").val(currentId);
        var tabName = $(ui.tab).text();
        var content = $(ui.panel).html();
        // swap title
        $( '#title' ).val( tabName );
        // swap content
        CKEDITOR.instances['ckeditor'].setData(content);

    }   
});