0

我正在使用 CKEditor,它工作正常,但事实证明验证存在问题。我正在使用这个技巧:

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

使验证工作,但它根本没有帮助。我的意思是,当我发送表单时,它会将值绑定到文本区域,但 jquery 不想验证这一点。当我完全关闭 CKEditor 时,验证在纯文本区域上运行良好。那么有什么问题呢?如何使 CKEditor 与 ASP.NET 的验证一起工作?

4

1 回答 1

4

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

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

编辑:我假设您正在尝试使必填字段验证器失败/通过。我忘记了<p>即使没有内容,CKEditor 也会放置标签(默认情况下)。点击提交按钮,尝试强制更新:

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

第二次编辑:默认情况下,jQuery 验证不验证隐藏字段。要使用 MVC 的无障碍 javascript 覆盖该功能,$.validator.setDefaults({ ignore: '' });请在包含验证之后立即添加。这将允许在页面上验证所有字段。

于 2013-03-14T00:57:45.843 回答