用textarea提交的jQuery序列化错误

win*_*ter 6 jquery serialization markitup

我正在使用此功能,在后台提交表单,并附带自定义消息.除了textarea字段外,它完美无缺.我已经读过序列化函数与ex有问题.换行符.

 $(function() {
      $("#comment_form").validate({    submitHandler: function(form) {
        $.post('/u/r/l/', $("#comment_form").serialize(),
 function(data) {
            $('#comment_container').html(data);
                });
            }
        });
Run Code Online (Sandbox Code Playgroud)

textarea是一个标记!编辑区.

the*_*ejh 2

如此处所述: 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);
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

如果不起作用,请手动对文本区域数据进行 urlencode:

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

如果您还想发送其他表单内容(注意:不要在这里给文本区域提供“名称”,只需一个 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);
    });
  }
});
Run Code Online (Sandbox Code Playgroud)