1

我正在为这个项目使用 WYMeditor。但是,我有服务器端验证,在保存数据之前检查 textarea 框是否为非空。但是当使用 WYMeditor 时,它会插入一个<br />标签,即使我什至没有在编辑器中点击。

我搜索了这个问题,发现它被标记为错误,here。不过据说修好了。但是,即使我已经下载并使用了最新的稳定版本,它肯定仍然在影响我。

这是我插入文本区域的代码(我使用的是 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 对此进行了测试,并且它按预期运行,所以我怀疑 wymeditor javascript 发生了一些事情,但我不确定是什么。

4

1 回答 1

3

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

  1. 您可能正在使用存在此错误的旧版本的 WYMeditor。您使用的是哪个版本?在撰写本文时,当前版本是1.0.0b3您可以在此处针对 WYMeditor master 进行测试。

  2. 如果您在不使用表单的提交处理程序的情况下提交表单,那么wymupdate该类将不起作用,并且您将不会获得隐式wym.xhtml()调用,这意味着可能不会发生一些必要的 HTML 清理。您可以尝试调用xhtml()您的 WYMeditor 实例(jQuery.wymeditors(0)如果您只有一个 wymeditor,您可以使用它来检索它)。

如果您可以提供示例页面或更多信息,我将相应地更新此答案。

于 2012-09-04T20:25:41.340 回答