无法使用Javascript AJAX发送post数据从Summernote文本区域获取值

6

我一直在查看Summernote API,这是我的代码

<form id="mail">
  <input type="text" id="email">
  <textarea id="summernote"></textarea>
  <input type="submit">
</form>

$('#summernote').summernote({
  placeholder: 'your Message',
  tabsize: 2,
  height: 300
});

$('document').ready(function() {
  var messageData = $('#summernote').summernote('code');
  var email = $('#email').val();
  $(function() {
    $('#mail').submit(function(event) {
      event.preventDefault();
      $.ajax({
        url: 'sendmail.php',
        type: 'post',
        data: {
          'send_mail': 1,
          'to': email,
          'message': messageData,
        },
        success: function(response) {
          if (response == 'success') {
            //my success response
          } else if (response == 'error') {
            //my error response
          }
        }
      });
    });
  });
});

我的问题是消息已经成功发送,但我没有得到那个文本区域的值,只有一个空电子邮件。请帮忙。
注意:我正在使用phpMailer发送电子邮件。

1
需要检查的一些事情是您的 summernote 初始化是否超出了 $(document).ready()..;您正在将 $(function() {.. 嵌套在 $(document).ready.. 中,这是不必要的。因此,请删除它。并将您的 summernote 初始化代码添加到 $(document).ready.. 中。 - Sudhir Bastakoti
好的,我会尝试。谢谢你的回答。 - Masandy Hariyanto
哦,谢谢,它起作用了!非常感谢您,先生! - Masandy Hariyanto
2个回答

7

将代码更改如下:

  1. 在“ready”函数中初始化“summernote”。
  2. 在邮件提交事件内获取“summernote”的值。

代码如下:

$('document').ready(function(){

    $('#summernote').summernote({
       placeholder: 'your Message',
       tabsize: 2,
       height: 300
    });


     $(function(){
         $('#mail').submit(function(event){

           var messageData = $('#summernote').summernote('code');
           var email = $('#email').val();

          event.preventDefault();
          $.ajax({ 
           url: 'sendmail.php',
           type: 'post',
           data: { 
            'send_mail' : 1, 
            'to' : email,
            'message' : messageData, 
           }, 
           success: function(response){ 
            if(response == 'success'){ 
            //my success response
             } else if (response == 'error'){
            //my error response
             }
            }
           });
          });
     });
});

-1

var paragraph = document.getElementsByClassName("note-editable card-block")[0].setAttribute("id","paragraph");
$.ajax({
            type: 'POST',
            url: 'post.php',
            data:  {"summernote": $('#summernote').html()},
            
            
            success: function(response) {

                $("#result").text(response);
                $("#result").attr("class","text-success");
            },
            error: function( jqXhr, textStatus, errorThrown ){
                console.log( errorThrown );
                $("#result").text("good");
                $("#result").attr("class","text-success");
            }

        });


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接