如何通过在其旁边添加字符串来验证tinyMCE编辑器是否为空白?

时间:2012-01-05 20:19:07

标签: javascript jquery tinymce validation

我需要验证表单。这个表单有一些下拉列表和tinyMCE编辑器,我通过在每个字段后附加字符串“Required”来验证这个表单,如果它是空白的,但是我无法验证tinyMCE编辑器,如果编辑器是空白的,我尝试了类似< / p>

tinyMCE.get('tinyedotor').getContent();

但没有运气。

这是我的fiddle

6 个答案:

答案 0 :(得分:14)

getContent()应该可以正常工作。您的小提琴不包含编辑器值的表单验证代码,这在此非常重要。试试这个:

var editorContent = tinyMCE.get('tinyeditor').getContent();
if (editorContent == '')
{
    // Editor empty
}
else
{
    // Editor contains a value
}

Forked fiddle

另请注意,您已为id下拉菜单声明了多个select

修改:您可以使用id方法获取编辑器容器的getContainer()tinyMCE.get('tinyeditor').getContainer()。在编辑器之后插入错误消息将是这样的:

$('<span class="error">Editor empty</span>').insertAfter($(tinyMCE.get('tinyeditor').getContainer()));

但是,每次用户单击“提交”按钮时,这将创建一个新的span,因此您可能希望拥有一个具有唯一id的错误消息容器并检查容器在插入之前已经存在。

修改2 Updated fiddle

答案 1 :(得分:9)

您可以执行此操作以检查内容是否为空而不解析html:

var content = tinymce.get('tinymceEditor').getContent({format: 'text'});
if($.trim(content) == '')
{
   // editor is empty ...
}

答案 2 :(得分:2)

您可以轻松完成所需的工作。她的解决方案是link to a fiddle

答案 3 :(得分:1)

使用getcontent()是正确的方法,但是如果用户进入空间怎么办!! ??这是RegEX的完整解决方案 -

var content = tinyMCE.get('tinyeditor').getContent(), patt;

            //Here goes the RegEx
            patt = /^<p>(&nbsp;\s)+(&nbsp;)+<\/p>$/g;

            if (content == '' || patt.test(content)) {
                $('.bgcolor').css("border", "1px solid Red")
                return false;
            }
            else {
                $('.bgcolor').removeAttr("style")
                return true;
            }

注意:('。bgcolor')只不过是'tinyeditor'周围的div,在验证时会出现红色边框。

答案 4 :(得分:0)

getContent()是要走的路。您可以使用tinyMCE.activeEditor对象并在其上调用getContent()或通过id获取编辑器实例,就像您正在做的那样。

看起来你的身份证上有一个拼写错误,这可能会导致你的问题。

tinyMCE.get('tinyedotor').getContent();

应该是:

tinyMCE.get('tinyeditor').getContent();

答案 5 :(得分:0)

聚会迟到但使用 tinyMCE V4 以下为我工作。

tinymce.init({
    selector: '#editorHtml'
});


    function IsCreatePostValid() {
    
        tinyMCE.triggerSave();

        if ($('#editorHtml').val().trim().length <= 0) {
            return false;
        }    
        return true;
    }

其中#editorHtml 是一个文本区域,并且在 triggerSave MCE 将当前的富文本编辑器值填充到相应的文本区域。

所以我正在检查文本区域。