自从我更新到TinyMCE版本4.0.1后,我的Jquery验证不再有效。在版本3.x中,脚本可以正常运行。我可以使用onchange_callback函数吗??
以前有没有人有过这个想法或同样的问题?
我的TinyMCE配置:
tinyMCE.init({
language : "de",
mode : "textareas",
theme : "modern",
height: 250,
statusbar : false,
relative_urls : false,
// update validation status on change
onchange_callback: function(editor) {
tinyMCE.triggerSave();
$("#" + editor.id).valid();
},
// Theme options
...
</script>
我的验证码:
$(document).ready(function() {
// update underlying textarea before submit validation
tinyMCE.triggerSave();
...
...
validator.focusInvalid = function() {
// put focus on tinymce on submit validation
if( this.settings.focusInvalid ) {
try {
var toFocus = $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []);
if (toFocus.is("textarea")) {
tinyMCE.get(toFocus.attr("id")).focus();
} else {
toFocus.filter(":visible").focus();
}
} catch(e) {
}
}
答案 0 :(得分:0)
使用config
检测tinyMCE 4的变化tinymce.init({
...
setup: function(editor) {
editor.on('change', function(e) {
console.log('change event', e);
});
}
});
答案 1 :(得分:0)
如果你也遇到这个问题意味着当你使用tinymce html编辑器时所需的验证不起作用,所以我有一个解决方案,请关注它,我希望你的问题解决,检查下面的代码 使用nuget包在您的应用程序中安装tinymce jquery包 创建一个这样的模型 型号
[Required(ErrorMessage = "Please enter About Company")]
[Display(Name = "About Company : ")]
[UIHint("tinymce_jquery_full"), AllowHtml]
public string txtAboutCompany { get; set; }
CSHTML或VIEW
<div class="divclass">
@Html.LabelFor(model => model.txtAboutCompany, new { @class = "required" })
@Html.EditorFor(model => model.txtAboutCompany)
<span class="field-validation-error" id="AC" style="margin:9px 0 0 57px;">/span>
</div>
这是jquery
$("#BusinessProfile").click(function () {
var aboutC = $("#txtAboutCompany").val()
var pinfo = $("#txtProductinfo").val();
if (aboutC == "" && pinfo == "") {
$("#AC").append("").val("").html("Please enter about company")
$("#PI").append("").val("").html("Please enter product information")
$("#bpform").valid();
return false;
} else if (aboutC == "") {
$("#PI").append("").val("").html("")
$("#AC").append("").val("").html("Please enter about company")
$("#txtAboutCompany").focus();
$("#bpform").valid();
return false;
} else if (pinfo == "") {
$("#AC").append("").val("").html("")
$("#PI").append("").val("").html("Please enter product information")
$("#txtProductinfo").focus();
$("#bpform").valid();
return false;
}
else {
$("#AC").append("").val("").html("");
$("#PI").append("").val("").html("");
//return true;
$("#bpform").validate();
}
});