http://www.thinkphp.cn/extend/454.html
首先参考了这个,保存到数据库一点问题都没有的。不错。
但是编辑就会有问题。asp.net的我之前试过,也没遇到什么问题。但是php就有个问题,就是content里面不能赋值,title赋值是很正常的。
调试了一下,发现是js的加载这个文本编辑器后,导致赋值丢失了。
<script>
$(function(){
var editor;
KindEditor.ready(function(K) {
editor = K.create('textarea[name="contents"]', {
allowFileManager : true,
autoHeightMode : true,
afterCreate : function() {
this.loadPlugin('autoheight');
},
afterUpload : function(url) {
var firstimageoption = '<option value="' + url + '">' + url + '</option>';
var selectoption = '<option value="' + url + '" selected="selected">' + url + '</option>';
$("#firstimage").append(firstimageoption);
$("#images").append(selectoption);
}
});
});
})
</script>
就是这个东东。换个办法即可:
<script>
$(function(){
var test = document.getElementById('test').value
document.getElementById('contents').value=test;
var editor;
KindEditor.ready(function(K) {
editor = K.create('textarea[name="contents"]', {
allowFileManager : true,
autoHeightMode : true,
afterCreate : function() {
this.loadPlugin('autoheight');
this.value=test;
},
afterUpload : function(url) {
var firstimageoption = '<option value="' + url + '">' + url + '</option>';
var selectoption = '<option value="' + url + '" selected="selected">' + url + '</option>';
$("#firstimage").append(firstimageoption);
$("#images").append(selectoption);
}
});
});
})
</script>
注意红色部分,页面随便弄个文本框,id改成test。在加载的时候先把contents的值给了test,然后再取回来赋值。没有这个还真不行。
试过:
document.getElementById('contents').value='{$vo.contents}';
试过这样了,是没有效果的,输出一片空白。所以我想只能用这个转一下。
刚接触php和ThinkPHP框架,不知道是不是很笨的办法。有好的办法欢迎留言。