ここに記載されているように: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);
});
}
});
また、他のフォーム コンテンツも送信したい場合 (注: ここではテキストエリアに「名前」を付けないでください。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);
});
}
});