1

我试图在一个 asp mvc 站点上使用 YUI 富文本编辑器我正在使用这个 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>

编辑器加载,但是当我提交表单时它的内容没有被传递,我不断收到一条验证消息,说如果没有任何内容,我应该需要该字段。

有谁知道我怎样才能让它按我想要的方式工作?

4

1 回答 1

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() 将内容塞回文本区域。如果这对我来说失败了,请通过设置如下事件手动完成。

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

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

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

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

于 2012-04-12T01:47:27.363 回答