jQuery序列化错误与textarea字段

时间:2010-11-06 22:17:37

标签: 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);
                });
            }
        });

textarea是一个标记!编辑区。

3 个答案:

答案 0 :(得分: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);
    });
  }
});

如果它不起作用,请手动urlencode textarea数据:

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

如果您还想发送其他表单内容(注意:请不要在这里给textarea一个“名称”,只是一个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);
    });
  }
});

答案 1 :(得分:0)

一个想法(如果jQuery序列化的标准用法不起作用)是标记代码正在使用该textarea并做一些奇特的事情,以便它甚至不再像textarea那样。 Markitup API中是否有某种方法可以检索数据?

答案 2 :(得分:0)

这里main_post_txt是你正在使用的html文本区域元素的id,在jquery中你可以通过使用

轻松获得它的值
var post_text = $("#main_post_txt").serialize();