将summernote文本传递给ajax

时间:2017-09-28 15:07:28

标签: javascript php ajax

我不是一般的ajax和javascript的专家所以我不得不问。 我有一个带有编辑器的表格(summernote编辑器)

<div id="summernote">summernote text</div>

然后我通过这个ajax函数发送表单数据:

$( '#form-create-project' ).submit( function( e ) {
    $.ajax({
      url: 'create_project.php',
      type: 'POST',
      data: new FormData( this ),
      processData: false,
      contentType: false
    });
    e.preventDefault();
});

但我也无法找到通过summernote价值的方法,我已尝试过:

var content = $('textarea[name="content"]').html($('#summernote').code());

但我不知道将它放在上面的js里面。当我尝试在提交时插入表单刷新页面而不是执行ajax,所以我想我把它放在了错误的地方。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用formData将所发送的内容简单地添加到append()

formData.append("summernote", $('#summernote').text() );

完整代码如:

var formData = new FormData( this );
formData.append("summernote", $('#summernote').text() );

$.ajax({
  url: 'create_project.php',
  type: 'POST',
  data: formData,
  processData: false,
  contentType: false
});

希望这有帮助。

答案 1 :(得分:0)

您可以尝试在提交之前转义html代码:

例如:

txtText.summernote({ height: 400, lang: 'es-ES'});

$.fn.htmlEscape = function () {

    return this.val().trim()
        .replace(/&/g, '&amp;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#39;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;');
},

// I needed the opposite function today, so adding here too:
$.fn.htmlUnescape = function () {

    return this.val().trim()
        .replace(/&quot;/g, '"')
        .replace(/&#39;/g, "'")
        .replace(/&lt;/g, '<')
        .replace(/&gt;/g, '>')
        .replace(/&amp;/g, '&');
},

function getDataForm() {

        var data = new FormData();

        if (Files.ImageSelection.getAction() === "choose") {
            data.append("ImagePath", ImagePath);
        }
        else {
            var files = Files.ImageSelection.getSelectedFile().get(0).files;
            if (files.length > 0) {
                data.append("File", files[0]);
            }
            data.append("ImagePath", "");
        }

        data.append("Id", SectionId);
        data.append("Title", txtTitle.val().trim());
        data.append("Text", txtText.htmlEscape());
        data.append("TypeId", cboType.val());

        return data;
    }