我一直在寻找关于如何做到这一点的堆栈,但对我来说它只是不想工作而且我开始变得无能为力。
我想要实现的是将textfield(ckeditor)中的数据保存在html文件中。我试图通过处理在edit_docInc.php中保存文件来实现这一点。
我的工作是尝试运行JQuery将edit_doc.php中的数据导入edit_docInc.php,完成后我想在edit_doc.php中使用名为show_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
如果有人知道答案,我们非常感谢。
答案 0 :(得分:0)
我是一个白痴,似乎我试图进入的页面是在edit_doc.php(inc)的同一个地图中,但是edit_doc.php是在inc.pp之外的一个包含在inc。因此我需要使用的URL是inc / edit_docInc.php而不仅仅是edit_docInc.php。