AjaxなPOSTのメール送信で悩む

2010年3月3日
By 石間

問い合わせフォームなどを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日

Tags: , , ,

Comments are closed.