我有一个文本区域
<td><textarea id="event-body" name="body"> <p class="error"></p>
这与CKEDITOR整合在一起
CKEDITOR.replace("event-body")
并且jquery验证plugin.代码是这样的
$('#event').validate({
rules:{
name:{
required: true
},},messages:{
body:{
required: "event body is required"
}
},errorPlacement: function(error,element){
$(element).each(function (){
$(this).parent('td').find('p.error').html(error);
})
});
代码工作得很好但是当我输入我的textarea元素时,我仍然会收到错误消息,直到我单击它两次.即我必须提交我的页面两次,以便即使textarea不为空也不会出现错误消息.
有没有办法顺利验证它(无需点击两次).
解决方法
看看
here
基本上你需要打电话
CKEDITOR.instances.editor1.updateElement();
在运行验证之前.
只需将editor1替换为textarea的名称即可.
然后打电话
$(myformelement).validate();
编辑
$("#my-form-submit-button").click(function(e){
e.preventDefault();
CKEDITOR.instances.event-body.updateElement();
$('#event').validate({
...options as above..
});o
})