Ckeditor Открывается в диалоговом окне, я хочу открыть его без

Я ломал голову над этим, но я просто не могу этого добиться. Итак, у меня есть приложение asp.net, которое при нажатии кнопки создает диалоговое окно с ckeditor, а затем берет данные, которые находятся в текстовой области ckeditor, и публикует их в области обсуждения на той же странице. Это все работает, однако проблема в том, что я хочу полностью удалить диалоговое окно и просто открыть ckeditor при загрузке страницы где-нибудь, не дожидаясь "щелчка".

ПОЖАЛУЙСТА, кто-нибудь, помогите мне понять решение.

Вот код:

 function DiscussionViewModel() {
    var self = this;
    self.New = ko.mapping.fromJS(newDiscussion);
    self.Threads = ko.mapping.fromJS(threads, mapping);
    self.AddNewThread = function () {
        $("#dvAddDiscussion").dialog('open');
        ko.mapping.fromJS(newDiscussion, self.New);

        if (CKEDITOR.instances["txtDiscussioinDescription"] != undefined) {
            CKEDITOR.instances["txtDiscussioinDescription"].setData('');
        }
    };

Это тогда связывается с диалоговым окном.

$(function () {
    $("#accordion").accordion();
    var dialog = $("#dvAddDiscussion").dialog({
        autoOpen: true,
        width: 720,
        height: 500,
        title: 'Discussion',
        modal: true,
        open: function () {
            if (typeof DISABLE_FOR_DIALOG != 'undefined')
                DISABLE_FOR_DIALOG = true;
            CKEDITOR.replace('txtDiscussioinDescription');

        },
        close: function (parameters) {
            if (typeof DISABLE_FOR_DIALOG != 'undefined')
                DISABLE_FOR_DIALOG = false;
            if (CKEDITOR.instances["txtDiscussioinDescription"] != undefined) {
                CKEDITOR.instances.txtDiscussioinDescription.updateElement();
                CKEDITOR.instances.txtDiscussioinDescription.destroy();
            }

        }
    });
    dialog.parent().appendTo($("#dvDialogs"));
    $("#frmAddDiscussion").data("validator").settings.submitHandler = discussionViewmodel.SubmitReply;
    $("#frmAddDiscussion").bind('click', function () {
        CKEDITOR.instances.txtDiscussioinDescription.updateElement();
    });
});

ОБНОВЛЕНИЕ: добавление в HTML по запросу J.

@using System.Web.Script.Serialization

@model List

@{
    ViewBag.Title = "Threads";
    Layout = null;// "~/views/shared/_Layout.cshtml";
}
<div class="threads" id="dvThreads">
    <div class="thread">
        <a href="javascript:void(0)" data-bind="click: $parent.GetReplies.bind($data)">
        </a>
    </div>

    <a href="javascript:void(0)" data-bind="click: AddNewThread, text: 'Add New Discussion'" class="btn new"></a>

    <script type="text/html" id="tmplReply">


        <div class="detail">
            <div class="miniDesc">
                <span>by </span>
                <span data-bind="text: User"></span>
                <abbr class="timeago" data-bind="text: CreatedDate,attr:{title:CreatedDate}"></abbr>
                &nbsp;<a href="javascript:void(0)" data-bind="click: $root.EditReply.bind($data)" class="btnEdit">Edit</a>
            </div>
            <p data-bind="html: Description"> </p>

            <br class="clear" />
        </div>
    </script>
    <div id="dvDialogs">
        @Html.Partial("Add", Model[Model.Count - 1].New)
    </div>
</div>

<script type="text/javascript">
    var newDiscussion=@Html.Raw(new JavaScriptSerializer().Serialize(Model[Model.Count - 1].New));
    var type=@Html.Raw(new JavaScriptSerializer().Serialize(Model[Model.Count - 1].New.Type));
    var objectId=@Html.Raw(new JavaScriptSerializer().Serialize(Model[Model.Count - 1].New.TypeId));
    var threads=@Html.Raw(new JavaScriptSerializer().Serialize(Model));
    var addDiscussionUrl = '@Url.Action("Add","Discussion")';
    var threadsUrl  ='@Url.Action("ThreadsJson","Discussion")';
    var summariesUrl='@Url.Action("Summaries","Discussion")';
</script>

0 ответов

Другие вопросы по тегам