Javascript CKEditor未验证JQUERY第一次单击时验证
我正在将JQUERY验证与CKEDITOR集成 这是我的HTMLJavascript CKEditor未验证JQUERY第一次单击时验证,javascript,jquery,html,validation,ckeditor,Javascript,Jquery,Html,Validation,Ckeditor,我正在将JQUERY验证与CKEDITOR集成 这是我的HTML <div class="clearfix"></div> <div class="col-md-12"> <div class="form-group"> <label class="control-label col-md-2">Text<span class="required">*</span></label&g
<div class="clearfix"></div>
<div class="col-md-12">
<div class="form-group">
<label class="control-label col-md-2">Text<span class="required">*</span></label>
<div class="col-md-8">
<textarea name="text" id="editor1" class="form-control ckeditor" style="height:100px;"><?= $results[0]['text']; ?></textarea>
<span class="help-block"></span>
</div>
</div>
</div>
但我不知道该把它放在哪里?有人能帮忙吗
更新
I made changes and put the code inside script tag but it is still not working
<script>
for (instance in CKEDITOR.instances) {
CKEDITOR.instances[instance].on("instanceReady", function () {
//set keyup event
this.document.on("keyup", function () {
CKEDITOR.instances[instance].updateElement();
});
//and paste event
this.document.on("paste", function () {
CKEDITOR.instances[instance].updateElement();
});
});
}
$(document).ready(function () {
$('#edit_banner').validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: false,
ignore: "",
rules: {
title: {
required: true
},
text: {
required: true
},
sort: {
required: true
},
show_on_dashboard: {
required: true
}
}
});
});
</script>
我做了更改并将代码放在脚本标记中,但它仍然不起作用
例如(在CKEDITOR.instances中的实例){
CKEDITOR.instances[instance].on(“InstanceRady”,函数(){
//设置密钥设置事件
此.document.on(“keyup”,函数)(){
CKEDITOR.instances[instance].updateElement();
});
//并粘贴事件
此.document.on(“粘贴”,函数(){
CKEDITOR.instances[instance].updateElement();
});
});
}
$(文档).ready(函数(){
$(“#编辑#横幅”)。验证({
errorElement:'span',
errorClass:'错误',
焦点无效:错误,
忽略:“,
规则:{
标题:{
必填项:true
},
正文:{
必填项:true
},
排序:{
必填项:true
},
在仪表板上显示\u:{
必填项:true
}
}
});
});
很久以前我也遇到过这个问题。最后我发现脚本中有两个事件处理程序一起工作
我想你的问题就在这一部分
for (instance in CKEDITOR.instances) {
CKEDITOR.instances[instance].on("instanceReady", function () {
//set keyup event
this.document.on("keyup", function () { CKEDITOR.instances[instance].updateElement(); });
//and paste event
this.document.on("paste", function () { CKEDITOR.instances[instance].updateElement(); });
});
}
根据需要删除一个事件处理程序。例如
for (instance in CKEDITOR.instances) {
//set keyup event
this.document.on("keyup", function () { CKEDITOR.instances[instance].updateElement(); });
//and paste event
this.document.on("paste", function () { CKEDITOR.instances[instance].updateElement(); });
}
希望这可能会有所帮助:-)我用这段代码解决了这个问题
<script>
$(document).ready(function () {
jQuery.validator.addMethod("cke_required", function (value, element) {
var idname = $(element).attr('id');
var editor = CKEDITOR.instances[idname];
$(element).val(editor.getData());
return $(element).val().length > 0;
}, "This field is required");
$('#add_banner').validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: false,
ignore: "",
rules: {
text: {
cke_required: true
},
title: {
required: true
},
sort: {
required: true
},
show_on_dashboard: {
required: true
},
image: {
required: true
}
}
});
});
</script>
$(文档).ready(函数(){
jQuery.validator.addMethod(“需要cke_”),函数(值,元素){
变量idname=$(元素).attr('id');
var editor=CKEDITOR.instances[idname];
$(element.val(editor.getData());
返回$(element).val().length>0;
},“此字段为必填项”);
$(“#添加#横幅”)。验证({
errorElement:'span',
errorClass:'错误',
焦点无效:错误,
忽略:“,
规则:{
正文:{
cke_要求:正确
},
标题:{
必填项:true
},
排序:{
必填项:true
},
在仪表板上显示\u:{
必填项:true
},
图片:{
必填项:true
}
}
});
});
我不知道;我没有实现这个代码。请告诉我将此代码放在何处?我想在脚本标记中,您是否通过删除一个事件处理程序进行了检查。?
for (instance in CKEDITOR.instances) {
CKEDITOR.instances[instance].on("instanceReady", function () {
//set keyup event
this.document.on("keyup", function () { CKEDITOR.instances[instance].updateElement(); });
//and paste event
this.document.on("paste", function () { CKEDITOR.instances[instance].updateElement(); });
});
}
for (instance in CKEDITOR.instances) {
//set keyup event
this.document.on("keyup", function () { CKEDITOR.instances[instance].updateElement(); });
//and paste event
this.document.on("paste", function () { CKEDITOR.instances[instance].updateElement(); });
}
<script>
$(document).ready(function () {
jQuery.validator.addMethod("cke_required", function (value, element) {
var idname = $(element).attr('id');
var editor = CKEDITOR.instances[idname];
$(element).val(editor.getData());
return $(element).val().length > 0;
}, "This field is required");
$('#add_banner').validate({
errorElement: 'span',
errorClass: 'error',
focusInvalid: false,
ignore: "",
rules: {
text: {
cke_required: true
},
title: {
required: true
},
sort: {
required: true
},
show_on_dashboard: {
required: true
},
image: {
required: true
}
}
});
});
</script>