Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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_Validation - Fatal编程技术网

Javascript 如果tinyMCE编辑器为空,如何通过在其旁边附加字符串来验证它?

Javascript 如果tinyMCE编辑器为空,如何通过在其旁边附加字符串来验证它?,javascript,jquery,tinymce,validation,Javascript,Jquery,Tinymce,Validation,我需要验证一个表单。此表单有一些下拉列表和tinyMCE编辑器,如果为空,我将通过在每个字段后添加字符串“Required”来验证此表单,但是我无法验证tinyMCE编辑器,如果编辑器为空,我尝试了以下操作 tinyMCE.get('tinyedotor').getContent(); 但是没有运气 这是我的getContent()是一条路要走。您只需使用tinyMCE.activeEditor对象并对其调用getContent(),或者按id获取编辑器实例,就像您正在做的那样 看起来您的id

我需要验证一个表单。此表单有一些下拉列表和tinyMCE编辑器,如果为空,我将通过在每个字段后添加字符串“Required”来验证此表单,但是我无法验证tinyMCE编辑器,如果编辑器为空,我尝试了以下操作

tinyMCE.get('tinyedotor').getContent();
但是没有运气

这是我的

getContent()
是一条路要走。您只需使用
tinyMCE.activeEditor
对象并对其调用
getContent()
,或者按id获取编辑器实例,就像您正在做的那样

看起来您的id中有一个输入错误,这可能是导致您出现问题的原因

tinyMCE.get('tinyedotor').getContent();
应该是:

tinyMCE.get('tinyeditor').getContent();
getContent()
应该可以正常工作。您的fiddle不包含编辑器值的表单验证代码,这在这里非常重要。试试这个:

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

还要注意,您已经为
选择
下拉列表声明了多个
id

Edit:您可以使用
getContainer()
方法:
tinyMCE.get('tinyeditor').getContainer()
获取编辑器容器的
id
。在编辑器之后插入错误消息的方式如下:

$('<span class="error">Editor empty</span>').insertAfter($(tinyMCE.get('tinyeditor').getContainer()));
$('Editor empty').insertAfter($(tinyMCE.get('tinyeditor').getContainer());
但是,这将在用户每次单击submit按钮时创建一个新的
span
,因此您可能需要一个具有唯一
id
的错误消息容器,并在插入之前检查该容器是否已存在


编辑2:。

您想要的内容可以轻松完成。她是我的解决方案的一员。

您可以这样做,在不解析html的情况下检查内容是否为空:

var content = tinymce.get('tinymceEditor').getContent({format: 'text'});
if($.trim(content) == '')
{
   // editor is empty ...
}
使用getcontent()是正确的方法,但是如果用户进入空间怎么办
下面是使用正则表达式的完整解决方案-

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;
}
var content=tinyMCE.get('tinyeditor').getContent(),patt;
//这是正则表达式
patt=/^(\s)+()+$/g;
如果(内容=“”| |部分测试(内容)){
$('.bgcolor').css(“边框”,“1px纯红色”)
返回false;
}否则{
$('.bgcolor').removeAttr(“样式”);
返回true;
}

注意:(“.bgcolor”)只不过是“tinyeditor”周围的一个div,在进行验证时有红色边框。

这里的问题只是打字错误,但我的代码是正确的,你检查了小提琴了吗是的,我没有看到任何
getContent
调用,只有
setContent
调用。我看到的是正确的代码吗?另外,它当前抛出了一个错误:
Uncaught SyntaxError:Unexpected identifier
@Victor:Great,我可以这样做,但我的问题是将这个字符串放在tinyMCE旁边。我不知道如何获取tinymCe的类/id,因此我可以执行类似$(“.errormMessage”).appendTo('tinyMCEEditor的类/id')@维克多:我添加了这段代码,但似乎需要更多的东西来删除此消息。这里是fiddle@Victor:是否可以在tinyMCE旁边而不是在bottom@Thariama:是否可以将此错误消息添加到tinyMCE旁边而不是bottom@Mike:当然,看看我的答案,链接到修改后的fiddleeditor消息empty必须与tinyMCE editor的顶行对齐,现在它位于中间。我可以使用position absolute(绝对位置),也可以使用top(顶部)和left(左侧)维度,但这会造成干扰,因为我的页面有3个tinymce编辑器,并且根据某些逻辑只显示一个。我们可以将此编辑器消息与tinyMCE box对齐放在第一行吗。@Mike:对齐包含错误消息的表格单元格的表格单元格内容:
@Viktor:但我有一个div布局。@Mike:如果需要帮助,请发布基于
的div
布局的代码。虽然我不认为这与原来的问题有关。非常有用,因为如果有一些空格,在html格式中它不再算为空。当您删除格式筛选
{format:'text'}
时,它会更有用,因为有时用户除了插入文件/图像之外什么都不写。