最近学习了一下kindEditor,做一些简单的东西,此例子用的是kindEditor自带的图片批量和单图片上传的方法
//富文本编辑器
KindEditor.ready(function (K) {
var editor = K.create('#editor_id', {
uploadJson: '/js/kindeditor/jsp/upload_json.jsp',
fileManagerJson: '/js/kindeditor/jsp/file_manager_json.jsp',
allowFileManager: true,
afterChange : function() { //发生改变后的事件
$5('.word_count1').html(this.count('text')); //字数统计包含纯文本、IMG、EMBED,不包含换行符,IMG和EMBED算一个文字
//限制字数
var limitNum = 500; //设定限制字数
var pattern = '还可以输入' + limitNum + '字';
//$5('.word_surplus').html(pattern); //输入显示
if(this.count('text') > limitNum) {
pattern = "最大输入字数为"+limitNum+",请适当删除部分内容,否则将自动进行截取";
$5('.word_surplus').html(pattern);
//超过字数限制自动截取
var strValue = editor.text();
strValue = strValue.substring(0,limitNum);
editor.text(strValue);
} else {
//计算剩余字数
var result = limitNum - this.count('text');
pattern = '还可以输入' + result + '字';
}
$5('.word_surplus').html(pattern); //输入显示
}
});
});
对于kindEditor获取不到textarea内容的问题.我去看了一下官方文档.终于明白:
必须要先对editor进行同步,才可以取到,而且必须用原生的js取
editor.sync();//同步
var noticeContent =document.getElementById('editor_id').value;
那些看不懂的标签是validform的验证,去掉即可.我就懒得去了.哈哈.仅作保存
<tr>
<td class="need">*</td>
<td>新闻内容:</td>
<td>
<textarea id="editor_id" name="newsContent" dataType="*" nullmsg="不可为空"
style="width: 500px; height: 300px;">
最大字数为5000
</textarea>
</tr>
<tr>
<td></td><td></td>
<td colspan="10">
<p> 您当前输入了 <span class="word_count1">0</span> 个文字。<br />
<font color="red"><span class="word_surplus"></span></font>
</p>
</td>
</tr>