如何让YUI编辑器传递其内容

时间:2012-04-12 00:57:15

标签: c# javascript asp.net asp.net-mvc yui

我试图在asp mvc网站上使用YUI Rich Text编辑器我正在使用这个javascript代码

var myEditor = new YAHOO.widget.Editor('Body', {
    height: '300px',
    width: '522px',
    dompath: true, //Turns on the bar at the bottom
    animate: true //Animates the opening, closing and moving of Editor windows
});
myEditor.render();

``

在这个文本区域

<div class="yui-skin-sam">
            @Html.TextAreaFor(model => model.Body, new { cols = "50", rows = 10 })
            @Html.ValidationMessageFor(model => model.Body)
        </div>

编辑器加载,但是当我提交表单时,它的内容没有被传递我继续收到一条验证消息,说如果没有任何内容,就应该按照我的要求进行操作。

有谁知道我怎么能按照我想要的方式工作呢?

1 个答案:

答案 0 :(得分:0)

如果其他人最终遇到此问题,这是解决方案。

您可以尝试设置handleSubmit:true就像这样

var myEditor = new YAHOO.widget.Editor('Body', {
height: '300px',
width: '522px',
dompath: true, //Turns on the bar at the bottom
animate: true, //Animates the opening, closing and moving of Editor windows
handleSubmit: true

}); myEditor.render();

编辑器将尝试附加自身并自动调用myEditor.saveHTML(),将内容填充回textarea。如果这样做失败了,请通过设置如下事件手动完成。

   YAHOO.util.Event.on('somebutton', 'click', function() {

myEditor.saveHTML();
alert("test");
});

其中somebutton是表单的提交按钮的名称。

当你得到这个工作时,你的第二个问题是asp.net会在你的模型中找到html标签时出错。这是一个不同的问题所以我不会在这里描述解决方案。