6

我正在使用此功能在后台提交表单,并带有自定义消息。它工作得很好,除了 textarea 字段。我读过序列化函数与 ex 有问题。换行符。

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

textarea 是一个标记!编辑区。

4

3 回答 3

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);
    });
  }
});

如果不起作用,请手动对 textarea 数据进行 urlencode:

$(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);
    });
  }
});
于 2010-11-06T23:41:55.930 回答
0

一种想法(如果 jQuery 序列化的标准用法不起作用)是标记代码正在使用该 textarea 并对其进行一些花哨的操作,因此它甚至不再像 textarea 一样。Markitup API 中是否有某种方法可以检索数据?

于 2010-11-06T22:26:42.127 回答
0

这里 main_post_txt 是您正在使用的 html 文本区域元素的 id,在 jquery 中,您可以通过使用轻松获得它的值

var post_text = $("#main_post_txt").serialize();  
于 2013-04-18T04:29:44.253 回答