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>
<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>