• ベストアンサー

改行キーの判断

こんにちは教えてください。 あるフォームのテキストエリアに入力された値を他のページに渡す必要があります。 その時、テキストエリアに入力された値に含まれる改行キーも一緒に渡したいのですが、うまく行きません。 strUrl="mypage.php?Memo="+document.frmMypage.txtMemo.value 例えばこんな感じで渡しています。 できれば改行キーを"<br>"に変換して渡したいのですが・・・。 とりあえず、改行キーを判断する方法がJavaScriptにあるのかどうかだけでも教えていただけないでしょうか。 よろしくお願いいたします。 環境はWinNT4.0(SR6) IE5.0 (JavaScriptはIE4.0以上で動くことを予想しています)

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

replace()を使えば、簡単に変換できます。 こんな↓コードで試してみたらどうでしょう。 <html> <head> <script language="javascript"> <!-- function movetx() {   with (document.frm) {     tx2.value = tx1.value.replace(/\r\n/g, '<br>');   } } //--> </script> </head> <body> <center> <form name="frm">  <textarea name="tx1" cols="40" rows="10"></textarea><br>  <input type="button" value="↓" onClick="movetx()"><br>  <textarea name="tx2" cols="40" rows="10"></textarea><br> </form> </center> </body> </html> 上のテキストエリアに改行入りの文章を書いてボタンを押すと、改行を<br>に変換して一行になった文字列が下のテキストエリアに表示されます。 #UNIXとかだと、改行って\nだったような・・・。あれ、Macはどうだっけ??

laa_laa_ts
質問者

お礼

ありがとうございます! 完璧です。ありがとうございました。 そのままパクれそうですが、今後の勉強のためにも 少しかみ砕いて自分のものにしたいと思います。 すごく助かりました。 japascriptでもreplaceができることがわかってうれしいです。 勉強になりました!! # OSによって改行コードが違うんですね。要調査です。

laa_laa_ts
質問者

補足

leaz024さん、すみません、今ポイントをつけようと思ったら、 leaz024さんが書いてくれたコードが実行されてしまい、 エラーが出て「締め切り」ボタンが押せなくなってしまっています。 教えてgooに聞いてみますので、ポイントはもう少々お待ちください。 すみません。

その他の回答 (1)

  • PPinky
  • ベストアンサー率0% (0/1)
回答No.1

unescape("%0D%0A")でよいかと思います。 テキストエリアに入っている文字列を1文字ずつ取得し、 改行コードを見つけたら"<br>"に置換すればよいんでしょうか? 下記URLは改行コードについて書かれてはいませんが、ご参考までに…。

参考URL:
http://www2s.biglobe.ne.jp/~tomoya_n/jscript/page07.htm
laa_laa_ts
質問者

お礼

回答ありがとうございます。 改行コードがわかっただけで大収穫でした。 あとは自分なりにコーディングできそうです。 ありがとうございました。

関連するQ&A