2012-09-03 34 views
1

我正在使用WYMeditor進行此項目。但是,我有服務器端驗證,它在保存數據之前檢查textarea框是否爲非空。但是,當使用WYMeditor時,即使我甚至沒有在編輯器中單擊,也會插入<br />標籤。WYMeditor在空時插入<br />

我搜索了周圍有關這個問題,並發現它被標記爲一個bug,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')); 

而且我對textarea的的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'} 
         ] 
     }); 

我已經測試了這個沒有使用的JavaScript wymeditor ,但我所有的其他JavaScript,它的功能如預期的,所以我懷疑wymeditor的JavaScript正在發生,但我不確定是什麼。

回答

3

我能想到這些症狀的幾個可能的原因:

  1. 您可以使用舊版本WYMeditor哪裏這個bug存在。你正在使用哪個版本?截至撰寫本文時,當前版本爲1.0.0b3。您可以針對WYMeditor的主人here進行測試。

  2. 如果您提交表單,而不使用表單的提交處理程序,那麼wymupdate類將無法正常工作,你不會得到隱式調用wym.xhtml(),這意味着可能不會發生一些必要的HTML清理。您可以嘗試在您的WYMeditor實例上調用xhtml()(如果您只有一個wymeditor,則可以使用jQuery.wymeditors(0)進行檢索)。

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

+0

1是我的解決方案。愚蠢的我選擇了他們稱之爲最新的「穩定」版本。我喜歡穩定,但我更喜歡工作。謝謝。 –