AjaxなPOSTのメール送信で悩む
問い合わせフォームなどをJQuery+ajaxで送信させるときに悩んだことをメモった。
FORMタグのtextareaの値を取得するときにval()で取得してajaxでPOSTしようとするとうまくいかない。これはtextareaで改行コードが入るためだ。
JQueryを使わないで通常の方法でPOSTするなら下記のようにtextareaに「wrap=”soft”」を付ければtextarea内のデータは改行コードを省いてくれるが、今回はJQueryでフォーム内の値を取得しているので下記の方法は使えない。
<textarea wrap=”soft”>ほげほげ</textarea>
というわけで改行コードを省く処理をJavaScriptで行う必要がある。探していたら見つけた。
http://www.kanaya440.com/contents/tips/javascript/002.html
function DeleteLineFeed(myLen) {
var newLen = '';
for(var i=0; i<myLen.length; i++){
text = escape(myLen.substring(i, i+1));
if(text != "%0D" && text != "%0A"){
newLen += myLen.substring(i, i+1);
}
}
return(newLen);
}
これでtextareaの値の改行コードを省いてPOSTすればよい。
解決までに結構時間かかった・・・。
人気度: 6%
こんな記事も読まれています
2010年2月のアクセスレポート - 2010年3月1日FLASH LITE1.1の限界を超える - 2009年11月16日
twitterのフォロワーを取得する - 2009年12月23日
LINKSTATIONのデータ救出 - 2009年9月11日
インテルのアシタロボ - 2009年11月25日


