1

このプロジェクトではWYMeditorを使用しています。ただし、データを保存する前にテキストエリアボックスが空でないことを確認するサーバー側の検証があります。しかし、WYMeditorを使用すると<br />、エディター内をクリックするほど多くのことをしていなくても、タグが挿入されます。

この問題について調べてみたところ、ここでバグとしてラベル付けされていることがわかりました。しかし、それは修正されたと言われていました。ただし、最新の安定バージョンをダウンロードして使用しているにもかかわらず、それは間違いなく私に影響を与えています。

これは、テキストエリアを挿入するための私のコードです(私は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'}
                        ]
        });

私はこれをwymeditorjavascriptを使用せずにテストしましたが、他のすべてのjavascriptは期待どおりに機能するため、wymeditor javascriptで何かが起こっているのではないかと思いますが、何が起こっているのかわかりません。

4

1 に答える 1

3

私はこれらの症状のいくつかの考えられる理由を考えることができます:

  1. このバグが存在していた古いバージョンのWYMeditorを使用している可能性があります。どのバージョンを使用していますか?この記事の執筆時点では、現在のバージョンは1.0.0b3です。ここでWYMeditorマスターに対してテストできます。

  2. フォームの送信ハンドラーを使用せずにフォームを送信すると、wymupdateクラスは機能せず、暗黙のwym.xhtml()呼び出しを取得できません。つまり、必要なHTMLクリーンアップが行われない可能性があります。xhtml()WYMeditorインスタンスを呼び出してみることができます(wymeditorjQuery.wymeditors(0)が1つしかない場合はで取得できます)。

サンプルページまたはもう少し情報を提供していただければ、それに応じてこの回答を更新します。

于 2012-09-04T20:25:41.340 に答える