欢迎来到天天文库
浏览记录
ID:27573654
大小:116.50 KB
页数:14页
时间:2018-12-03
《ckeditor无法验证的解决方案(js验证jqueryvalidate验证)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、CKEditor无法验证的解决方案(js验证+jQueryValidate验证)这篇文章主要为大家详细介绍了CKEditor无法验证的解决方案和jQueryValidate验证框架,感兴趣的小伙伴们可以参考一下最近项目的前端使用了jQuery,表单的前端验证用的是jQueryValidate,用起来很简单方便,一直都很满意的前段时间,根据需求为表单中的textarea类型的元素加上了html富文本编辑器,用的是CKEditor,功能强大,定制方便,也很满意。不过用CKEditor增强过的textarea元素,这个字段要求是非空的,在jQueryValidate总是验证不通过,原因就
2、是在CKEditor编辑器填写了内容之后,编辑器并不是立即把内容更新到原来的textarea元素中的,我没仔细看源代码,试过一种情况就是每一次提交不通过,第二次提交就可以通过的,貌似编辑器是在submit事件之前把编辑器的内容更新到textarea中的(这个是猜测,不知道对不对我对jQuery和CKEditor都不太熟悉,算是拿来就用,有问题就放狗的那种)。于是在网上找到了解决问题的代码,代码不是我写的,我只是记录一下我遇到的问题,代码非原创。原理就是当编辑器更新了内容之后,立即把内容更新到textarea元素。nbsp:CREDITOR.instances[〃page_conte
3、nt〃Lon(〃instanceReady〃,function()nbsp;nbsp;nbsp;{nbsp;nbsp;nbsp:nbsp;nbsp;nbsp;nbsp;//setkeyupeventnbsp:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;this.document,on(〃keyup〃,updateTextArea):nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp://andpasteeventnbsp;nbsp;nbsp:nbsp:nbsp:nbsp;nbsp;this.document.on(〃paste〃,upda
4、teTextArea):nbsp:nbsp;nbsp;}):nbsp;nbsp;nbsp:functionupdateTextArea()nbsp;nbsp;nbsp;{nbsp;nbsp;nbsp;nbsp;nbsp;CKEDITOR.tooIs.setTimeout(functionOnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;{nbsp;nbsp;nbsp;nbsp:nbsp;nbsp;nbsp;nbsp;nbsp;$(〃#page_content〃).val(CREDITOR.instances.page_content.getData(
5、)):nbsp:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$(〃#page_content/z).trigger(’keyup’);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp:nbsp;nbsp:},0);nbsp;nbsp:nbsp;}nbsp;目前一切使用正常,算是解决了一个让我头痛的问题另一种解决思路:CKEditor编辑器是增强过的textarea元素,在填写了内容之后,编辑器并不立即把内容更新到原来的textarea元素中的,而是等到submit事件之前把编辑器的内容更新到textarea中.因此,普通的js验证或是j
6、queryvalidate验证都获取不到编辑器的值.)1.js验证获取CKEditor编辑器的值其实很容易,其值就是CREDITOR,instances,mckeditor.getData(),实例代码如下:It:scriptlanguage=〃javascript〃type=〃text/javascript/zgt:nbsp;nbsp;nbsp:functioncheckForm()nbsp;nbsp;nbsp;nbsp:nbsp;{nbsp;nbsp;nbsp;nbsp;nbsp:nbsp;varf=document.forml:nbsp:ding=f.tbTopicHeadi
7、ng.value;nbsp;nbsp;nbsp:nbsp;nbsp;nbsp;topicHeading=topicHeading.replace(厂s+/g,:nbsp:nbsp;nbsp;nbsp;nbsp:nbsp;topicHeading=topicHeading.replace(/s+$/g,:nbsp;nbsp:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if(topicHeading==〃〃)nbsp;nbsp;nb
此文档下载收益归作者所有