项目中用到jQuery Validate 和 Ckeditor,需要对textarea做非空限制,但直接加关键字request无效,于是找了度娘,但无解,谷歌马上就出来了,遂做个备案留与后来之人,及未来的我。
HTML代码:
<label>岗位介绍:</label>
<div>
<textarea id="describes" name="describes"><#if role??>${role.describes!''}</#if></textarea>
<script src="<@path/>/js/ckeditor-4.5.8/ckeditor.js" type="text/javascript"></script><!-- 引入ckeditor js插件 -->
<script>
CKEDITOR.replace('describes', {//初始化id为describes的textarea
toolbar : 'Basic',//默认工具栏
filebrowserUploadUrl: '<@path/>/kindEditorCtrl.do?uploadType=information'//图片上传的接口链接
});
</script>
</div>
JavaScript代码:
$().ready(function() {
$('#form').submit(function(){
$('textarea.ckeditor').each(function () {
var $textarea = $(this);
$textarea.val(CKEDITOR.instances[$textarea.attr('name')].getData());
});
});
$("#form").validate({
rules: {
describes: {
required: true //表单name为describes的验证规则
}
},
ignore: '',
errorPlacement: function(error, element) {
if (element.attr('name') == 'content') {//这里应该是错误提示方法,老实说我看不懂
error.insertAfter($(element).parent().children().last());
} else {
error.insertAfter(element);
}
}
});
});
最终效果:
注:未习得class=ckeditor 使用 DATA-API 模式自动初始化