9

我开始在网站上的所有内容类型中部署 WYMeditor,它看起来不错。现在我要看看它是如何保存和查看的,但它没有提交任何东西,我不知道为什么。

我从几个角度看待这个问题。我什至会在这一点上使用猴子补丁,如果我可以自己学习如何获取数据,我可以在提交时将其粘贴到字段中。那或者它不能自行工作的真正原因会很棒。有人有想法吗?

<li><label for="id_comment">comment on this article:</label> <textarea id="id_comment" rows="10" cols="40" name="comment"></textarea> 
<script type="text/javascript"> 
    $(document).ready(function(){

    jQuery("#id_comment").wymeditor({
      "toolsItems":[
         {
            "name":"Bold",
            "css":"wym_tools_strong",
            "title":"Strong"
         },
         {
            "name":"Italic",
            "css":"wym_tools_emphasis",
            "title":"Emphasis"
         },
         {
            "name":"InsertOrderedList",
            "css":"wym_tools_ordered_list",
            "title":"Ordered_List"
         },
         {
            "name":"InsertUnorderedList",
            "css":"wym_tools_unordered_list",
            "title":"Unordered_List"
         },
         {
            "name":"Indent",
            "css":"wym_tools_indent",
            "title":"Indent"
         },
         {
            "name":"Outdent",
            "css":"wym_tools_outdent",
            "title":"Outdent"
         },
         {
            "name":"Undo",
            "css":"wym_tools_undo",
            "title":"Undo"
         },
         {
            "name":"Redo",
            "css":"wym_tools_redo",
            "title":"Redo"
         },
         {
            "name":"CreateLink",
            "css":"wym_tools_link",
            "title":"Link"
         },
         {
            "name":"Unlink",
            "css":"wym_tools_unlink",
            "title":"Unlink"
         },
         {
            "name":"Paste",
            "css":"wym_tools_paste",
            "title":"Paste_From_Word"
         }
      ],
      "logoHtml":"",
      "updateEvent":"blur",
      "stylesheet":"/static/yui/tiny_mce.css",
      "skin":"twopanels",
      "classesHtml":"",
      "updateSelector":"textarea"
      });

    });
</script></li>
4

3 回答 3

12

我遇到了同样的问题,并通过查看他们网站提供的 wymexamples 目录中的示例 1 注意到 Wymeditor 使用特殊元素类(CSS 类)来指示页面中需要添加额外行为的部分。

特别是,提交按钮有一个 wymupdate 类,我认为这会导致预提交处理程序与控件相关联。

一旦我将 wymupdate 类添加到源代码中的提交按钮,然后在提交之前用 HTML 填充 textarea 字段,它会在正确的 POST 变量中显示服务器端。

我在示例源的相关位下面包含了使其工作的...

<script type="text/javascript">
jQuery(function() {
    jQuery('.wymeditor').wymeditor();
});
</script>

...

<form method="post" action="">
<textarea class="wymeditor">&lt;p&gt;Hello, World!&lt;/p&gt;</textarea>
<input type="submit" class="wymupdate" />
</form>

...虽然 wymupdate 类关联似乎是自动的,但 wymeditor 类关联是显式触发的,如 中所示<script>,然后这必然导致它查找 wymupdate 类的东西。

于 2009-04-16T06:01:06.407 回答
4

而不是这个:

"updateEvent":"blur",
"updateSelector":"textarea"

你需要:

"updateEvent":"click",    
"updateSelector":"[type=submit]"
于 2011-04-16T23:16:37.790 回答
0

您还可以强制更新所有 wymeditors,我需要在实际提交之前执行此操作,因为我有自定义功能来操纵 textarea 内容。

document.addEventListener('submit',function(e){
    e.preventDefault();
    //update all the wymeditors
    var i=0,wym = jQuery.wymeditors(i);
    while(wym){
        i++;
        wym._element.html(wym.xhtml());
        //wym.update();//would use this, but it is not reliable
        wym = jQuery.wymeditors(i);
    }
    e.target.submit();
});
于 2012-06-02T13:39:48.170 回答