Php 无法从ckeditor jquery插件检索数据
在过去的几个小时里,我一直试图简单地将在ckeditor(textarea)中输入的数据(text/html)发布到PHP文件中 他们的API声称数据会自动将数据发布到表单提交上,但它不会,它不会返回任何内容 编辑:以下是真实代码: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";
<?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);
}
});