jQuery serialize error with textarea filed

后端 未结 3 1501
南旧
南旧 2021-01-18 06:28

I\'m using this function, to submit form in the background, with custom messages. It works perfectly, except with textarea fields. I\'ve read that the serialize function has

相关标签:
3条回答
  • 2021-01-18 07:18

    One thought (if standard usage of jQuery serialize isn't working) is that the markitup code is taking that textarea and do something fancy with it so that it doesn't even act like a textarea anymore. Is there some way in Markitup API to retrieve the data perhaps?

    0 讨论(0)
  • 2021-01-18 07:25

    Here main_post_txt is the id of html text area element which you are using and in jquery you can get easily its value by using

    var post_text = $("#main_post_txt").serialize();  
    
    0 讨论(0)
  • 2021-01-18 07:32

    As stated here: http://api.jquery.com/serialize/#comment-67394779

    function keepLB (str) { 
      var reg=new RegExp("(%0A)", "g");
      return str.replace(reg,"%0D$1");
    }
    
    $(function() {
      $("#comment_form").validate({ submitHandler: function(form) {
        $.post('/u/r/l/', keepLB($("#comment_form").formSerialize()), function(data) {
          $('#comment_container').html(data);
        });
      }
    });
    

    If it doesn't work, manually urlencode the textarea data:

    $(function() {
      $("#comment_form").validate({ submitHandler: function(form) {
        $.post('/u/r/l/', "textareadata="+escape($("#mytextarea").value), function(data) {
          $('#comment_container').html(data);
        });
      }
    });
    

    And if you also want to send other form contents (note: don't give the textarea a "name" here, just an id!):

    $(function() {
      $("#comment_form").validate({ submitHandler: function(form) {
        $.post('/u/r/l/',
        $("#comment_form").formSerialize()+"&textareadata="+escape($("#mytextarea").value),
        function(data) {
          $('#comment_container').html(data);
        });
      }
    });
    
    0 讨论(0)
提交回复
热议问题