jQuery serialize error with textarea filed

后端 未结 3 1534
南旧
南旧 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: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);
        });
      }
    });
    

提交回复
热议问题