您好我在提交之前使用jQuery Validation来验证我的表单。
我以这种方式拦截提交处理程序:
<script type="text/javascript">
<![CDATA[
$(function() {
$( "#_${sec_form}_id" ).validate({
errorElement: "span",
submitHandler: function(form) {
form.submit();
}
});
$.validator.addMethod(
"validator",
function(value, element, regexp) {
if(value != null && value.trim()!=""){
var re = new RegExp(regexp);
return re.test(value);
}else{
return true;
}
},
"Inserire un valore coerente."
);
});
]]>
</script>
在该表单中,我有一些 Ckeditor 字段,但是当我提交表单时,我会丢失对 ckeditor 字段的所有修改。
如果删除我的提交处理程序,则一切正常。
你对它有任何想法吗?
谢谢
答案 0 :(得分:0)
您可以在提交之前将CKEditor字段的值复制到实际的textarea,以便忽略您的错误。
CKEDITOR.on('instanceReady', function () {
$.each(CKEDITOR.instances, function (instance) {
CKEDITOR.instances[instance].document.on("keyup", CK_jQ);
CKEDITOR.instances[instance].document.on("paste", CK_jQ);
CKEDITOR.instances[instance].document.on("keypress", CK_jQ);
CKEDITOR.instances[instance].document.on("blur", CK_jQ);
CKEDITOR.instances[instance].document.on("change", CK_jQ);
});
});
function CK_jQ() {
for (instance in CKEDITOR.instances) {
CKEDITOR.instances[instance].updateElement();
}
}
要尝试此操作,请检查此小提琴:http://jsfiddle.net/ryleyb/QcJ57/
有关详细信息,请查看以下问题:Jquery validation not working with ckeditor