jquery serialize errerが掲載されたエラーが提出されました
-
29-09-2019 - |
質問
この関数を使用して、カスタムメッセージを使用してバックグラウンドでフォームを送信しています。 Textareaフィールドを除いて、完全に機能します。シリアル化関数にはExに問題があることを読みました。ラインブレイク。
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/', $("#comment_form").serialize(),
function(data) {
$('#comment_container').html(data);
});
}
});
TextareaはMarkitupです!編集エリア。
解決
ここで述べたように: 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します。
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/', "textareadata="+escape($("#mytextarea").value), function(data) {
$('#comment_container').html(data);
});
}
});
また、他のフォームのコンテンツを送信したい場合(注:ここでは「名前」を「名前」にしないでください!):
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/',
$("#comment_form").formSerialize()+"&textareadata="+escape($("#mytextarea").value),
function(data) {
$('#comment_container').html(data);
});
}
});
他のヒント
jquery serializeの標準的な使用が機能していない場合)の1つは、MarkitupコードがそのTextareaを取得しており、Textareaのように動作しないようにしていることです。 Markitup APIにデータを取得する方法はありますか?
ここで、main_post_txtは、使用しているHTMLテキストエリア要素のIDです。
var post_text = $("#main_post_txt").serialize();
所属していません StackOverflow