Я использую крошечный mce. Я хочу получить html-элементы из текстовой области крошечного mce. Я пытаюсь сделать tat с вызовом ajax. И у меня есть кнопка PDF, которая будет генерироваться из html PDF. Я это:Как получить значение от tinymce
public ActionResult GeneratePDFFOrProductHandler(EditProductModel model, string data)
{
SubmittedForm sf = new SubmittedForm();
string schema = requestSchema;
customer_DbConnection db = new customer_DbConnection();
RenderFormController renderController = new RenderFormController();
renderController.GeneratePdf(data, db, sf);
return RedirectToAction(model.DesignId, "Prdocut/Edit");
//return View(model);
}
и Аякса вызов:
function GenerateHTMLTOPDF() {
$.ajax({
type: "POST",
url: '@Url.Action("GeneratePDFFOrProductHandler", "Product")',
data: {},
success: function (data) {
alert(tinyMCE.get('tinymce').getContent());
alert("data from ajax = " + data.toString()); // data is html
$("#tinymce").html(data); // does not set anything
},
error: function (request, status, error) {
alert(tinyMCE.activeEditor.getContent());
alert(request.responseText);
}
});
}
Метод в контроллере называется. Но данные каждый раз равны нулю.
Спасибо
для кнопки Сформировать PDF это:
<button type="submit" value="GeneratePDFFOrProductHandler" id="btnGeneratePDF" onclick="GenerateHTMLTOPDF()" class="btn btn-success"><i class="fa fa-fw fa-check"></i> @Resources.Action.Navigation.GeneratePDF</button>
Но как создать PDF в новой вкладке браузера?
Спасибо
Но если я пытаюсь это:
function GenerateHTMLTOPDF() {
var data = tinyMCE.get('tinymce').getContent();
$.ajax({
type: "POST",
url: '@Url.Action("GeneratePDFFOrProductHandler", "Product")',
data: {data:data},
success: function (data) {
alert('success');
alert("data from ajax = " + data.toString()); // data is html
},
error: function (request, status, error) {
alert(tinyMCE.activeEditor.getContent());
alert(request.responseText);
}
});
}
метод контроллера даже не называется
вы ничего не отправляете в контроллер .. 'data: {},' это то, что вы отправляете по вашему методу –
Что касается новой вкладки: вы никогда не сможете ее принудительно, так как это настройка локального браузера. Тем не менее, вы можете предложить открыть новую вкладку/окно, и если пользовательские настройки позволят ей это сделать. Взгляните на этот вопрос: http://stackoverflow.com/questions/4907843/open-a-url-in-a-new-tab-using-javascript – JNYRanger
Причина, по которой второй вызов не влияет на ваш метод, заключается в том, что dataType не указывается. Попробуйте добавить dataType: 'json' или см. Ниже ответ. –