水曜以外もどうでしょう

北海道発。食べ歩きの記録グルメ情報や北海道の見どころなどをメモ替わりに書いています。

PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| スポンサー広告 | --:-- | comments(-)| trackbacks(-)| TOP↑

≫ EDIT

textareaで、先頭の改行が消えてしまう。

表題のとおり、困っていた。

流れとしては、

(1)textareaの先頭に改行を入れてPOSTする。
(2)POSTされた側で、DBに登録。
(3)DBには改行が入った状態で登録されているが、次に編集ページをひらいてみると最初の改行が消えている。
(4)そのまま再登録すると、改行が無くなってしまう。


改行が1つのときは消え、
改行が2つのときは、1つになる。

「先頭の改行が1つ減る」という状況だ。


解決策の参考サイトを発見

textarea の最初の改行が無視される件
http://www.hoge256.net/2008/07/138.html


参考サイトによると、
textareaのタグの後に改行を入れずに初期値を書いた場合に発生し、

<textarea rows="4" cols="30"><?php print($text); ?></textarea>




改行を入れてあげると、先頭の改行が無視されないようだ。

<textarea rows="4" cols="30">
    <?php print($text); ?>
</textarea>



これは勉強になりました。


他の参考サイトによると、
http://www.ne.jp/asahi/hishidama/home/tech/web/html/textarea.html


サイトより引用。

HTML4.01仕様では、開始タグ直後の改行と、終了タグ直前の改行は無視することになっている。[2009-01-17]
しかしIEの上記の動作は、開始タグについては仕様通りだが、終了タグについては仕様違反だなぁ…。
(preタグでは、どちらの改行もちゃんと無視されるようなのだが…)




「先頭の改行無視」はHTMLの仕様。
同時に、「末尾の改行無視」もHTMLの仕様らしい。

IEのバグに対応するには、以下のように書かいた方が良いということですね。

<textarea rows="4" cols="30">
    <?php print($text); ?></textarea>




スポンサーサイト
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| web系 | 11:06 | comments:0| trackbacks:0| TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://vmemo.blog36.fc2.com/tb.php/357-a5866cbe

TRACKBACK

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。