2013-03-14 170 views
0

我使用CKEditor,它工作正常,但事实证明,验证存在问题。我使用这个技巧:ASP.NET MVC和CKEditor - 不验证

$('input[type=submit]').bind('click', function() { 
    var ckContent = CKEDITOR.instances.Content.getData(); 
    $("#Content").val(ckContent); 
}); 

为了验证工作,但它并没有帮助的。我的意思是,当我发送表单时,它将值绑定到textarea,但jquery不想验证它。当我完全关闭CKEditor时,验证在纯textarea上正常工作。那么,什么是错的?我如何使CKEditor与ASP.NET的验证一起工作?

回答

4

我在想输入选择发生得太晚而无法验证。所以我想你需要在模糊CKEditor之后更新文本框。

var editor = CKEDITOR.replace('content'); 
editor.on('blur', function (e) { 
    $("#Content").val(this.getData()); 
}); 

编辑:我假设你想获得一个必需的字段验证失败/通过。即使没有内容(默认情况下),我忘记了CKEditor会将<p>标签置于其中。点击提交按钮,尝试强制更新:

$('input[type=submit]').bind('click', function() { 
    CKEDITOR.instances.Content.updateElement(); 
}); 

SECOND EDIT:默认情况下,jQuery验证不会验证隐藏字段。使用MVC的无阻碍JavaScript重写该功能,在包含验证之后添加$.validator.setDefaults({ ignore: '' });。这将允许所有字段在页面上进行验证。

+0

恩,那也不管用。 :/ – ojek 2013-03-14 00:59:53

+1

检查更新后的答案,如果您试图验证所需字段,我认为这将对您有用。 – 2013-03-14 01:22:27

+0

什么都没有。 :/我检查了萤火虫,当我点击提交时,你的代码被击中,但没有任何反应,表单通过。 – ojek 2013-03-14 01:40:16