表單發佈時應自動傳遞數據。這裏是「集成」頁面從開發人員指南,解釋此頁:
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Integration
你確保查詢被成功地和內容字段被更新運行?我問,因爲你發佈的代碼表示,在save.php,您使用的是:
$id = $_GET['id'];
這似乎引起問題,因爲你使用的方法=您的形式,而不是方法「後」 =」得到」。
你還可以發佈你用來替換CKEditor的textarea的代碼嗎?您是否使用了PHP方法:
<?php
$CKEditor = new CKEditor();
$CKEditor->basePath = '/ckeditor/';
$CKEditor->replace("content");
?>
或者JavaScript的方法:
<script language="Javascript">
<!--
CKEDITOR.replace('content');
//-->
</script>
要好吧, 喬
跟進評論質疑
嗨Purmou,
我沒有注意到你在表單動作中包含了id,對此抱歉。如果你確實想使用它作爲一個$ _ POST變量,而不是,你可以把它作爲一個隱藏字段這樣的:
<form id="editform" action="save.php?id=<?php echo $_GET['id']; ?>" method="post">
<input type="hidden" id="id" name="id" value="<?php echo $_GET['id']; ?>" />
<textarea id="editor" name="content"><?php echo $page['content']; ?></textarea>
有關於加載通過PHP編輯器中的CKEditor的_samples文件夾一些好的文件建立安裝: http://YourSite.com/ckeditor/_samples/php/
http://YourSite.com/ckeditor/_samples/php/replace.php,有基本設置:
<?php
// Include the CKEditor class.
include_once "ckeditor/ckeditor.php";
// Create a class instance.
$CKEditor = new CKEditor();
// Path to the CKEditor directory.
$CKEditor->basePath = '/ckeditor/';
// Replace a textarea element with an id (or name) of "textarea_id".
$CKEditor->replace("textarea_id");
?>
到JavaScript方法類似,您可以添加配置選項替換textarea的面前。一個來自「先進」的例子。PHP的」文件:
$CKEditor->config['width'] = 600;
要與您的特定代碼中使用PHP的方法,這樣做:
if(isset($_GET['id'])) {
$id = $_GET['id'];
$content = mysql_query("SELECT title, content FROM pages WHERE id=".$id);
$search = mysql_num_rows($content);
if($search > 0){
while($page = mysql_fetch_array($content)) { ?>
<h1>Editing <?php echo $page['title']; ?></h1>
<form id="editform" action="save.php?id=<?php echo $_GET['id']; ?>" method="post">
<textarea id="content" name="content"><?php echo $page['content']; ?></textarea>
</form>
<?php }
include_once "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->basePath = '/ckeditor/';
$CKEditor->replace("content");
}
} ?>
我從改變textarea的ID。 「編輯器」 到 「內容」 我會建議不要使用編號或名稱「編輯器」,因爲它在CKEditor的代碼用來指CKEditor的實例。
您可以在您加載編輯頁面或在config.js文件做配置設置或在你的o wn自定義配置文件。
我在表單提交後花了一些時間試圖捕獲表單內容字段的值,但在CKEditor更新內容之前只能看到它。
是嘛,
喬
我知道CKEditor的行爲在PHP究竟只是在JavaScript中你必須調用編輯器方法從編輯器實例更新墊層元素或的getData()來獲取用戶的變化,它沒有做它automaticaly ...在JS無論如何 – Zee
@Zeela:我會用jQuery的'submit();'觸發該更新代碼嗎? (我實際上知道'updateElement()',但現在找到了在我的情況下使用它的方式。) – Purag