Javascript ASP.NET MVC和CKEditor-无验证
我使用的是CKEditor,它工作得很好,但结果证明验证存在问题。我正在使用这个技巧:Javascript ASP.NET MVC和CKEditor-无验证,javascript,asp.net,asp.net-mvc,asp.net-mvc-3,ckeditor,Javascript,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Ckeditor,我使用的是CKEditor,它工作得很好,但结果证明验证存在问题。我正在使用这个技巧: $('input[type=submit]').bind('click', function () { var ckContent = CKEDITOR.instances.Content.getData(); $("#Content").val(ckContent); }); 使验证工作,但它根本没有帮助。我的意思是,当我发送表单时,它将值绑定到textarea,但jquery不想验证这
$('input[type=submit]').bind('click', function () {
var ckContent = CKEDITOR.instances.Content.getData();
$("#Content").val(ckContent);
});
使验证工作,但它根本没有帮助。我的意思是,当我发送表单时,它将值绑定到textarea,但jquery不想验证这一点。当我完全关闭CKEditor时,验证在纯文本区域上可以正常工作。那怎么了?如何使CKEditor与ASP.NET的验证一起工作?我认为输入选择发生得太晚,无法进行验证。因此,我认为在模糊编辑器后需要更新文本框
var editor = CKEDITOR.replace('content');
editor.on('blur', function (e) {
$("#Content").val(this.getData());
});
编辑:我假设您正试图使所需的字段验证器失败/通过。我忘记了,即使没有内容(默认情况下),CKEditor也会放置
标记。在“提交”按钮上单击,尝试强制更新:
$('input[type=submit]').bind('click', function () {
CKEDITOR.instances.Content.updateElement();
});
第二次编辑:默认情况下,jQuery验证不会验证隐藏字段。要使用MVC的无阻碍javascript覆盖该功能,请添加
$.validator.setDefaults({ignore:''})代码>就在验证的include之后。这将允许验证页面上的所有字段。我认为输入选择发生得太晚,无法验证。因此,我认为在模糊编辑器后需要更新文本框
var editor = CKEDITOR.replace('content');
editor.on('blur', function (e) {
$("#Content").val(this.getData());
});
编辑:我假设您正试图使所需的字段验证器失败/通过。我忘记了,即使没有内容(默认情况下),CKEditor也会放置
标记。在“提交”按钮上单击,尝试强制更新:
$('input[type=submit]').bind('click', function () {
CKEDITOR.instances.Content.updateElement();
});
第二次编辑:默认情况下,jQuery验证不会验证隐藏字段。要使用MVC的无阻碍javascript覆盖该功能,请添加$.validator.setDefaults({ignore:''})代码>就在验证的include之后。这将允许验证页面上的所有字段。检查更新的答案,我认为如果您尝试验证必填字段,这将对您有效。仍然没有任何结果。:/我检查了firebug,当我点击submit时,你的代码被点击了,但是什么也没发生,表单被传递了。我使用的是所有东西的旧版本。你完全正确。显然,在最近的某个时刻,可能随着jQuery1.9的更新,所有隐藏的元素都没有得到验证。因此,在包含验证javascript文件之后,添加$.validator.setDefaults({ignore:''})
,它将验证默认设置为不忽略任何内容,而不是:hidden
。哇。这就成功了。非常感谢,我对验证问题感到沮丧-DI用隐藏的元素信息编辑了答案,这样可以帮助其他人避免把头撞到墙上!检查更新后的答案,我认为如果您尝试验证必填字段,这将适用于您。仍然没有任何结果。:/我检查了firebug,当我点击submit时,你的代码被点击了,但是什么也没发生,表单被传递了。我使用的是所有东西的旧版本。你完全正确。显然,在最近的某个时刻,可能随着jQuery1.9的更新,所有隐藏的元素都没有得到验证。因此,在包含验证javascript文件之后,添加$.validator.setDefaults({ignore:''})
,它将验证默认设置为不忽略任何内容,而不是:hidden
。哇。这就成功了。非常感谢,我对验证问题感到沮丧-DI用隐藏的元素信息编辑了答案,这样可以帮助其他人避免把头撞到墙上!