WYM编辑器在空时插入<br />



我在这个项目中使用WYMediator。但是,我有服务器端验证,在保存数据之前,它会检查文本区域框是否为非空。但是当使用WYMediator时,它插入了一个<br />标记,尽管我甚至还没有在编辑器中点击那么多。

我搜索了一下这个问题,发现它在这里被标记为bug。但据说它是固定的。然而,尽管我已经下载并使用了最新的稳定版本,但它肯定仍然影响着我。

这是我插入文本区域的代码(我使用的是CakePHP):

echo $this->Form->create('News', array('type' => 'file'));
    echo $this->Form->input('News.title', array('label' => '*Title:'));
    echo $this->Form->input('News.body', array('label' => '*Body:', 'class' => 'wymeditor'));
    echo $this->Form->input('News.picture', array('label' => 'Picture:', 'type' => 'file'));
echo $this->Form->end(array('label' => 'Save News', 'class' => 'wymupdate'));

我的文本区域javascript:

jQuery('.wymeditor').wymeditor({
            skin: 'silver',
            toolsItems: [
                         {'name': 'Bold', 'title': 'Strong', 'css': 'wym_tools_strong'}, 
                         {'name': 'Italic', 'title': 'Emphasis', 'css': 'wym_tools_emphasis'},
                         {'name': 'CreateLink', 'title': 'Link', 'css': 'wym_tools_link'},
                         {'name': 'Unlink', 'title': 'Unlink', 'css': 'wym_tools_unlink'},
                         {'name': 'InsertOrderedList', 'title': 'Ordered_List', 'css': 'wym_tools_ordered_list'},
                         {'name': 'InsertUnorderedList', 'title': 'Unordered_List', 'css': 'wym_tools_unordered_list'},
                         {'name': 'InsertTable', 'title': 'Table', 'css': 'wym_tools_table'},
                         {'name': 'Undo', 'title': 'Undo', 'css': 'wym_tools_undo'},
                         {'name': 'Redo', 'title': 'Redo', 'css': 'wym_tools_redo'}
                        ]
        });

我没有使用wymeditor javascript,而是使用我的所有其他javascript进行了测试,它的功能正如预期的那样,所以我怀疑wymeditorjavascript发生了什么,但我不确定是什么。

我能想到这些症状的几个可能原因:

  1. 您可能正在使用旧版本的WYMediator,其中存在此错误。您正在使用哪个版本?截至本文撰写之时,当前版本为1.0.0b3。你可以在这里测试WYMediator大师。

  2. 如果您在不使用表单的提交处理程序的情况下提交表单,那么wymupdate类将不起作用,也不会得到隐式的wym.xhtml()调用,这意味着可能不会进行一些必要的HTML清理。您可以尝试在您的WYMediator实例上调用xhtml()(如果您只有一个Wymediator,则可以使用jQuery.wymeditors(0)检索它)。

如果你能提供一个示例页面,或者更多的信息,我会相应地更新这个答案。

最新更新