1
내 asp.net 핵심 프로젝트에서 부분보기가 있는데 AJAX가있는 컨트롤러에 input
및 select
및 editor
값을 모두 게시하려고합니다. 컨트롤러에 모두 input
및 select
태그를 게시 할 수 있지만 CkEditor 값을 게시 할 수 없습니다.AJAX를 통해 다른 입력과 함께 CKEDITOR 값을 게시하는 방법
물론 jQuery에서 CkEditor 값을 얻을 수 있지만 선택할 수는 없습니다.
부분보기 :
@model LibraryProject.Models.ViewModels.AddEditBookViewModel
<form method="post" enctype="multipart/form-data">
<div class="modal-body form-horizontal">
<div class="row">
<div class="form-group">
<label asp-for="BookName" class="col-lg-2 col-sm-2 control-label"></label>
<div class="col-lg-6">
<input asp-for="BookName" class="form-control" />
</div>
</div>
<div class="form-group">
<label asp-for="BookDescription" class="col-lg-2 col-sm-2 control-label"></label>
<div class="col-lg-9">
<textarea id="BookDescription" name="BookDescription" asp-for="BookDescription" class="form-control"></textarea>
</div>
<script type="text/javascript">
CKEDITOR.replace('BookDescription');
</script>
</div>
<div class="form-group">
<label asp-for="BookGroupID" class="col-lg-2 col-sm-2 control-label"></label>
<div class="col-lg-6">
<select asp-for="BookGroupID" asp-items="@Model.BookGroups" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label asp-for="AuthorID" class="col-lg-2 col-sm-2 control-label"></label>
<div class="col-lg-6">
<select asp-for="AuthorID" asp-items="@Model.Authors" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label asp-for="BookPageCount" class="col-lg-2 col-sm-2 control-label"></label>
<div class="col-lg-6">
<input asp-for="BookPageCount" class="form-control" />
</div>
</div>
<input type="file" id="files" name="files" multiple />
</div>
</div>
<div class="modal-footer">
<input type="button" id="submitinfo" class="btn btn-success" value="Add Book" />
</div>
</form>
그리고 내 jQuery 코드 : 지금은 jQuery를 3 점으로 표시되는 경우 내가 다른과 함께 편집기 값을 게시 할 수있는 방법을
<script>
$(document).on('click', '#submitinfo', function (evt) {
evt.preventDefault();
var fileupload = $("#files").get(0);
var files = fileupload.files;
var data = new FormData();
for (var i = 0; i < files.length; i++) {
data.append('files', files[i]);
}
//In this line I can get editor value
var editorval = CKEDITOR.instances['BookDescription'].getData();
//***here i can post all input and select tag value but can`t post editor value along with other
$('input,select').each(function (x, y) {
data.append($(y).attr("name"), $(y).val());
});
$.ajax({
type: "post",
url: '@Url.Action("AddBook", "Book")',
contentType: false,
processData: false,
data: data
}).done(function (res) {
if (res.status === "success") {
alert(res.message);
} else {
$.each(res.errors, function (a, b) {
alert(b);
});
}
}).fail(function (xhr, b, error) {
alert(error);
});
});
</script>
암호?