接上文,dedecms换了百度编辑器之后,发现单页面上传内容保存之后无法写入数据库,并且无法显示。
百度搜索的解决办法如下:
1、修改\dede\templets\ 目录下 的 catalog_edit.htm 及 catalog_add.htm两个文件。
2、搜索到function checkSubmit() 在函数 return true; 前 添加以下代码:
document.getElementsByName("content")[0].innerHTML = ue.getContent();
3、修改后的代码如下:
function checkSubmit()
{
if(document.form1.typename.value==""){
alert("栏目名称不能为空!");
document.form1.typename.focus();
return false;
}
document.getElementsByName("content")[0].innerHTML = ue.getContent();
return true;
}
通过测试发现,上述方式不能解决问题。故不推荐。
另外一种方法是 将document.getElementsByName("content")[0].innerHTML = ue.getContent(); 换成下面
document.form1.content.value = document.getElementById("baidu_editor_0").contentWindow.document.body.innerHTML;
这种解决方法视乎也并不能完全解决栏目内容和单页面内容无法保存的问题。我所采用的方式是
完善js的bug,同上
function checkSubmit()
{
if(document.form1.typename.value==""){
alert("栏目名称不能为空!");
document.form1.typename.focus();
return false;
}
/*document.getElementsByName("content")[0].innerHTML = ue.getContent();*/
document.form1.content.value = document.getElementById("baidu_editor_0").contentWindow.document.body.innerHTML;
return true;
}
并且将\dede\templets\ 目录下 的 catalog_edit.htm 及 catalog_add.htm两个文件中从中移到标记内。
看源码发现有红色标签错误,原来是这里导致ueditor 无法提交表单的值所致!
所以只要把form标记移动到td内部,firefox看源码就正常了。
链接: https://pan.baidu.com/s/1slBOmCH 密码: 6fnk