接上文,dedecms換了百度編輯器之后,發(fā)現(xiàn)單頁面上傳內(nèi)容保存之后無法寫入數(shù)據(jù)庫,并且無法顯示。
百度搜索的解決辦法如下:
1、修改\dede\templets\ 目錄下 的 catalog_edit.htm 及 catalog_add.htm兩個文件。
2、搜索到function checkSubmit() 在函數(shù) 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;
}
通過測試發(fā)現(xiàn),上述方式不能解決問題。故不推薦。
另外一種方法是 將document.getElementsByName("content")[0].innerHTML = ue.getContent(); 換成下面
document.form1.content.value = document.getElementById("baidu_editor_0").contentWindow.document.body.innerHTML;
這種解決方法視乎也并不能完全解決欄目內(nèi)容和單頁面內(nèi)容無法保存的問題。我所采用的方式是
完善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兩個文件中從中移到標(biāo)記內(nèi)。
看源碼發(fā)現(xiàn)有紅色標(biāo)簽錯誤,原來是這里導(dǎo)致ueditor 無法提交表單的值所致!

所以只要把form標(biāo)記移動到td內(nèi)部,firefox看源碼就正常了。
鏈接: https://pan.baidu.com/s/1slBOmCH 密碼: 6fnk