Javascript 使用tinymce禁用/启用按钮
我想在tinymce中没有内容时禁用按钮,在tinymce中有内容时启用按钮。我试着这样做:Javascript 使用tinymce禁用/启用按钮,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,我想在tinymce中没有内容时禁用按钮,在tinymce中有内容时启用按钮。我试着这样做: tinyMCE.init({ // General options mode: "specific_textareas", editor_selector: "mceEditor" }); tinyMCE.triggerSave(); var hallo = $('#GeneratePDFMailFormSubmitter').val(); if ($.trim(hallo.v
tinyMCE.init({
// General options
mode: "specific_textareas",
editor_selector: "mceEditor"
});
tinyMCE.triggerSave();
var hallo = $('#GeneratePDFMailFormSubmitter').val();
if ($.trim(hallo.value) == "") {
$('#btnGeneratePDFMailProductHandler').attr("disabled", true);
}
else
$('#btnGeneratePDFMailProductHandler').attr("disabled", false);
@section Scripts {
@Scripts.Render("~/bundles/xforms_" + StateHelper.GetCurrentCultureName())
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript" src="~/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="~/js/MailMessage.js"></script>
<script>
var generatePdfPreviewUrl = "@Url.Action("GeneratePDFFromHtml", "Product")";
(function ($) {
$(function () {
$("input.datepicker").each(function () {
var inp = $(this);
inp.datepicker({
dateFormat: "@ViewHelper.GetJSLocaleDateFormat()",
onClose: function () {
$(this.form).validate().element(this);
}
});
});
})
})(jQuery);
$(document).ready(function () {
tinymce.init({
mode: "specific_textareas",
editor_selector: "mceEditor",
setup: function (ed) {
ed.on("keyup", function () {
onChangeHandler(ed);
})
}
});
function onChangeHandler(inst) {
tinymce.onChangeHandler(ed);
var editorContent = tinymce.get('GeneratePDFMailFormSubmitter').getContent();
if ($.trim(editorContent) == '') {
alert(editorContent);
$('#btnGeneratePDFMailProductHandler').attr('disabled', true);
} else {
alert(editorContent);
$('#btnGeneratePDFMailProductHandler').attr('disabled', false);
}
}
});
</script>
}
但当没有内容时,按钮仍然可见
多谢各位
我现在是这样的:
tinyMCE.init({
// General options
mode: "specific_textareas",
editor_selector: "mceEditor"
});
tinyMCE.triggerSave();
var hallo = $('#GeneratePDFMailFormSubmitter').val();
if ($.trim(hallo.value) == "") {
$('#btnGeneratePDFMailProductHandler').attr("disabled", true);
}
else
$('#btnGeneratePDFMailProductHandler').attr("disabled", false);
@section Scripts {
@Scripts.Render("~/bundles/xforms_" + StateHelper.GetCurrentCultureName())
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript" src="~/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="~/js/MailMessage.js"></script>
<script>
var generatePdfPreviewUrl = "@Url.Action("GeneratePDFFromHtml", "Product")";
(function ($) {
$(function () {
$("input.datepicker").each(function () {
var inp = $(this);
inp.datepicker({
dateFormat: "@ViewHelper.GetJSLocaleDateFormat()",
onClose: function () {
$(this.form).validate().element(this);
}
});
});
})
})(jQuery);
$(document).ready(function () {
tinymce.init({
mode: "specific_textareas",
editor_selector: "mceEditor",
setup: function (ed) {
ed.on("keyup", function () {
onChangeHandler(ed);
})
}
});
function onChangeHandler(inst) {
tinymce.onChangeHandler(ed);
var editorContent = tinymce.get('GeneratePDFMailFormSubmitter').getContent();
if ($.trim(editorContent) == '') {
alert(editorContent);
$('#btnGeneratePDFMailProductHandler').attr('disabled', true);
} else {
alert(editorContent);
$('#btnGeneratePDFMailProductHandler').attr('disabled', false);
}
}
});
</script>
}
@节脚本{
@Scripts.Render(“~/bundles/xforms_389;”+stateheloper.GetCurrentCultureName())
@Scripts.Render(“~/bundles/jqueryval”)
var generatePdfPreviewUrl=“@Url.Action(“GeneratePDFFromHtml”、“产品”)”;
(函数($){
$(函数(){
$(“input.datepicker”)。每个(函数(){
var inp=$(本);
输入日期选择器({
dateFormat:“@ViewHelper.GetJSLocaleDataFormat()”,
onClose:function(){
$(this.form).validate().element(this);
}
});
});
})
})(jQuery);
$(文档).ready(函数(){
tinymce.init({
模式:“特定区域”,
编辑选择器:“mceEditor”,
设置:功能(ed){
ed.on(“键控”,功能(){
onChangeHandler(ed);
})
}
});
函数onChangeHandler(inst){
tinymce.onChangeHandler(ed);
var editorContent=tinymce.get('GeneratePDFMailFormSubmitter').getContent();
如果($.trim(编辑内容)=''){
警报(编辑内容);
$('btngeratedfmailProductHandler').attr('disabled',true);
}否则{
警报(编辑内容);
$('btngeratedfmailProductHandler').attr('disabled',false);
}
}
});
}
但它甚至没有命中onChangeHandler(ed)函数{
tinyMCE
提供了设置
选项来检测编辑器中的更改事件,您可以实现如下功能:
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "mceEditor",
setup: function (ed) {
ed.on("change", function () {
onChangeHandler(ed); //<-- This is our Handler
})
}
});
这是正在工作的
更新
据观察,tinyMCE的change
事件需要点击触发,我们可以使用keyup
触发事件处理程序:
setup: function (ed) {
ed.on('keyup', function(e) {
onChangeHandler(ed);
});
}
这里是更新的工作谢谢Patel。但在您的示例中,如果您输入文本,按钮将启用,但如果您删除文本,按钮将不会返回到禁用状态,它将返回。但由于某些原因,它需要单击以激活奇怪的更改事件。请在删除文本框的内容后尝试单击,它将被禁用t已禁用。@savantTheincrable我已更新了答案。它现在可以工作了。:)哦,但我认为getContent不可识别。它在哪里不可识别?我想,我们在上一个问题中解决了这个问题。