Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用tinymce禁用/启用按钮_Javascript_Jquery_Tinymce - Fatal编程技术网

Javascript 使用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中没有内容时禁用按钮,在tinymce中有内容时启用按钮。我试着这样做:

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不可识别。它在哪里不可识别?我想,我们在上一个问题中解决了这个问题。