我一直在寻找如何做到这一点的堆栈,但是对我来说它只是不想工作而且我开始变得一无所知。
我想要实现的是将文本字段(ckeditor)中的数据保存在html文件中。我试图通过处理将文件保存在edit_docInc.php中来实现这一点。
我所做的是尝试运行 JQuery 以将数据从 edit_doc.php 获取到 edit_docInc.php,完成后我想用名为 show_doc.php 的文件刷新 edit_doc.php 中的 DIV 并在滑块中滑动到它。
这是我到目前为止得到的:edit_doc.php
$docfile = "./documents/" . $cursus['name'] . "/" . $docfilename . ".html";
echo("<h1>Editing Document: " . $rows['name'] . "</h1>
<a id='slider-editbtn'>Edit</a> | <a id='slider-viewbtn'>Preview</a>");
echo("<div id='slider'>
<div id='slider-content'>
<div id='left'>
<form name='editdoc' id='editdoc' action='" . $_SERVER['REQUEST_URI'] . "' method='post'>
<input type='hidden' name='docid' value='" . $docfile . "' />
<textarea name='mainEditor' id='mainEditor'>");
include($docfile);
echo("</textarea>
<a class='button save' id='save'>SAVE DOCUMENT</a>
<script>
CKEDITOR.replace('mainEditor');
$('#save').click(function (e) {
$.ajax ({
type: 'POST',
url: 'edit_docInc.php',
data: { 'form' : $('#editdoc').serialize()},
success: function(ex) {
$('right').load('show_doc.php');
$('#slider-viewbtn').addClass('active');
$('#slider-editbtn').removeClass('active');
$('#slider-content').animate({left:'-=940px'}, 400);
sliderPos = 2;
alert('loaded!');
}
})
});
</script>
</div>
<div id='right'>");
include('show_doc.php');
echo("</div>
</div>
</div>");
edit_docInc.php
echo("<script>alert('got into script!');</script>");
$docfile = mysqli_real_escape_string($con, $_POST['docfile']);
$data = $_POST['mainEditor'];
$handle = fopen($docfile, 'w') or die("Can't open the file, please contact an administrator.");
fwrite($handle, $data);
fclose($handle);
echo("<div id='alert success'><span>Success:</span> File has been successfully saved!</div>");
show_doc 太简单而无法真正显示。顺便说一句 edit_docInc.php 没有提醒我,所以它甚至没有进入 edit_docInc.php
如果有人知道答案,不胜感激。