プロが教える店舗&オフィスのセキュリティ対策術

質問お願いします。
htmlとcgi等を使用してHPを作っているのですが、その中にtextareaを利用して、
投稿フォームを設けています。投稿したものは、違うページで閲覧できるようになっています。

この投稿フォーム、wordやexcelから文章をコピぺして使用する方が多いのですが、
そのままでは<P>タグが挿入されてしまい、閲覧時、文章間隔が広くなりすぎて見難いため、
投稿フォームを、<textarea><pre></pre></textarea>とし、受信時、cgiで<P>タグを削除しています。

レイアウトはこれで問題ないのですが、textarea内に<pre>タグを入れてしまうと、
textareaの横幅をオーバーして書き込めてしまうという事態が起こってしまいました。

そこで質問なのですが、textarea内に<pre>を入れても、文字入力が端まで行ったら、
次の行に折り返す方法はないでしょうか?
わかる方いらっしゃいましたら、ご教授の程よろしくお願いします。

A 回答 (2件)

preタグを挟むよりもtextareaのcss設定で調整した方が簡単なんじゃないのかな・・・

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
cssでの調整もしてみたのですが、データを2次活用する時に、
都合の悪い場面が出たのでこの方法を取っています。

お礼日時:2011/03/10 15:32

textareaは、


【引用】____________ここから
17.7 TEXTAREA要素 <!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Forms in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より

ですから、その書き方はおかしいです。

 そもそも、<P>は段落(paragraph)を示すものですから、段落が異なればその段落ごとに<p></p>となるのは正しいのですよ。
 その段落相互間の間隔が、視覚系ブラウザで表示させると広すぎるというのは単なるプレゼンテーションの問題です。この区別はHTMLを作成する上で最も重要!!

↑これをマークアップすると
<p>
そもそも、&lt;P&gt;は段落(paragraph)を示すものですから、段落が異なればその段落ごとに&lt;p&gt;&lt;/p&gt;となるのは正しいのですよ。
<p>
<p>
その段落相互間の間隔が、視覚系ブラウザで表示させると広すぎるというのは単なるプレゼンテーションの問題です。この区別はHTMLを作成する上で最も重要!!
</p>

 読み上げブラウザや検索エンジン、あるいは点字端末でも段落の違いを示せます。ただ、日本語では慣習的に段落の違いは、他と同じ改行と字下げ(インデント)であらわすので、「デフォルトでは段落があきすぎる」となってしまいます。

 その場合スタイルシートで
p{margin:0.2em 0em;text-indent:1em;}
とすれば、日本語らしくなる。

 たったそれだけの処理をすればよいのですよ。

この回答への補足

No.1の方へのお礼にも書きましたが、2次活用時の問題があるので
スタイルシート云々の問題ではないのです。
ブラウザでの表示の制御方法はある程度理解しております。

補足日時:2011/03/15 15:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!