我有一个text-area
text-area
这与CKEDITOR整合在一起 CKEDITOR.replace("event-body") 并且jqueryvalidation插件 。 代码是这样的 $('#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不为空也不会出现错误消息。 有没有办法顺利validation它(无需点击两次)。 看看这里 基本上你需要打电话 CKEDITOR.instances.editor1.updateElement(); 在运行validation之前。 只需将editor1替换为textarea的名称即可。 然后打电话 $(myformelement).validate(); 编辑 $("#my-form-submit-button").click(function(e){ e.preventDefault(); CKEDITOR.instances.event-body.updateElement(); $('#event').validate({ ...options as above.. });o }) 把它放在提交按钮mousedown()事件中: $("#submit").mousedown(function(){ for (var i in CKEDITOR.instances){ CKEDITOR.instances[i].updateElement(); } }); jQueryvalidation器仅validation可见的输入字段,但CKEDITOR使textarea隐藏,以防止其被validation。 我结合了你的sugestions并使这个小作弊没有问题。 我的代码: Add Content: Back 在我的.css文件中,我强迫我这样: textarea.ckeditor { visibility: visible !important; display: block !important; height: 0px !important; border: none !important; resize:none; overflow: hidden; } 我的.jsvalidation是正常的格式: $("#submit-templateeditor").click(function(){ CKEDITOR.instances.templateeditor.updateElement(); $("#create-message-form-3").validate({ rules: { templateeditor: "required" }, messages: { templateeditor: "Please add some code before continue" }, errorPlacement: function(error, element){ $(element).each(function (){ $(this).parent('div').find('p.error').html(error); }); } }); }); 在您validation表单的javascript中使用此选项。 它将更新您的ckeditor并将ckeditor的值分配给您集成它的textarea。 它应该在表单提交之前运行: CKEDITOR.instances.editor1.updateElement(); 如果你喜欢它 $("#Detail").ckeditor(config); 比你需要使用这样的东西 var editor = $('#Detail').ckeditorGet(); editor.updateElement(); 在这种情况下,我使用此示例函数来提交表单 function SubmitEvent(){ var editor = $('#Detail').ckeditorGet(); editor.updateElement(); if($("#EventForm").valid()) { $('#EventForm').submit(); } } 我更喜欢更新模糊事件的每个实例,因此您无需更改提交函数的任何内容! 🙂 $('#myInstance').ckeditor({toolbar:'MyToolbar'}); CKEDITOR.instances.myInstance.on('blur', function( e ){ CKEDITOR.instances.myInstance.updateElement(); }); jQuery .validate()函数提供“onsubmit”选项,以在validation之前执行自定义操作。 默认情况下,它设置为true。 我在我的项目中使用过它,效果很好。 $(".selector").validate({ onsubmit: function(){ CKEditorUpdate(); return true; }, rules:{ title:{required:true}, content:{required:true} }, messages:{ title:{required:"Please enter a title"}, content:{required:"Please enter some content"} }, submitHandler : function(form){ }); function CKEditorUpdate() { for (instance in CKEDITOR.instances) CKEDITOR.instances[instance].updateElement(); } 这是一种更清洁,更容易理解的方法。 请参阅http://jqueryvalidation.org/validate#onsubmit 如果你使用SPRY,这对我有用…. 什么是在角度2内使用jquery小部件的最佳方法? javascript:如何将日期字符串(YYYY-MM-DD)增加1天 关键事件不适用于多个ckeditorsCKEditor中的自动完成列表ckeditor初始化并销毁如何使用加载gif添加ajax保存按钮到CKeditor 4.2.1。如何使用jQuery将TypeKit字体加载到CKEditor实例中禁用在ckeditor中拖动CKEditor的多个实例(在Safari中)CKEditor 4如何在没有用户交互的情况下添加表(即没有对话框)禁用CKEditor,使用JS重新启用 Go! Interesting Posts CK编辑第二次validation如何将CKEditor集成到Asp.net MVC中获取JS中DOM元素的计算字体大小CKeditor上的Jquery事件CKEditor Code Snippet插件不在yii2框架中进行语法高亮显示ckeditor + jquery + fancyboxCkeditor并使用$ _POST插入到Mysql中如何使用jQuery禁用CKeditor从JQuery中的CK Editor textarea获取文本防止CKEditor添加’data-cke-saved’并转换<
这与CKEDITOR整合在一起
CKEDITOR.replace("event-body")
并且jqueryvalidation插件 。 代码是这样的
$('#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不为空也不会出现错误消息。
textarea
有没有办法顺利validation它(无需点击两次)。
看看这里
基本上你需要打电话
CKEDITOR.instances.editor1.updateElement();
在运行validation之前。
只需将editor1替换为textarea的名称即可。
editor1
然后打电话
$(myformelement).validate();
编辑
$("#my-form-submit-button").click(function(e){ e.preventDefault(); CKEDITOR.instances.event-body.updateElement(); $('#event').validate({ ...options as above.. });o })
把它放在提交按钮mousedown()事件中:
$("#submit").mousedown(function(){ for (var i in CKEDITOR.instances){ CKEDITOR.instances[i].updateElement(); } });
jQueryvalidation器仅validation可见的输入字段,但CKEDITOR使textarea隐藏,以防止其被validation。
我结合了你的sugestions并使这个小作弊没有问题。
我的代码:
Add Content: Back
在我的.css文件中,我强迫我这样:
textarea.ckeditor { visibility: visible !important; display: block !important; height: 0px !important; border: none !important; resize:none; overflow: hidden; }
我的.jsvalidation是正常的格式:
$("#submit-templateeditor").click(function(){ CKEDITOR.instances.templateeditor.updateElement(); $("#create-message-form-3").validate({ rules: { templateeditor: "required" }, messages: { templateeditor: "Please add some code before continue" }, errorPlacement: function(error, element){ $(element).each(function (){ $(this).parent('div').find('p.error').html(error); }); } }); });
在您validation表单的javascript中使用此选项。 它将更新您的ckeditor并将ckeditor的值分配给您集成它的textarea。
它应该在表单提交之前运行:
如果你喜欢它
$("#Detail").ckeditor(config);
比你需要使用这样的东西
var editor = $('#Detail').ckeditorGet(); editor.updateElement();
在这种情况下,我使用此示例函数来提交表单
function SubmitEvent(){ var editor = $('#Detail').ckeditorGet(); editor.updateElement(); if($("#EventForm").valid()) { $('#EventForm').submit(); } }
我更喜欢更新模糊事件的每个实例,因此您无需更改提交函数的任何内容! 🙂
$('#myInstance').ckeditor({toolbar:'MyToolbar'}); CKEDITOR.instances.myInstance.on('blur', function( e ){ CKEDITOR.instances.myInstance.updateElement(); });
jQuery .validate()函数提供“onsubmit”选项,以在validation之前执行自定义操作。 默认情况下,它设置为true。 我在我的项目中使用过它,效果很好。
$(".selector").validate({ onsubmit: function(){ CKEditorUpdate(); return true; }, rules:{ title:{required:true}, content:{required:true} }, messages:{ title:{required:"Please enter a title"}, content:{required:"Please enter some content"} }, submitHandler : function(form){ }); function CKEditorUpdate() { for (instance in CKEDITOR.instances) CKEDITOR.instances[instance].updateElement(); }
这是一种更清洁,更容易理解的方法。 请参阅http://jqueryvalidation.org/validate#onsubmit
如果你使用SPRY,这对我有用….