DBに登録されているデータをテーブルに表示しています。
登録はフォームの<TEXTAREA>で行っているのですが、登録する人
によって、途中で改行が入っていたり、改行せずにずらーっと長い
データになっていたりいろいろです。これを、「改行の入っている
ものはそれなりに」「改行の入っていないものはセルの幅で改行」
というようにできないでしょうか? 内容は主に日本語の文章です。
前者を実現するために<TD><PRE>~</PRE></TD>とやったら、前者
は上手くいくのですが、後者の場合、ひたすら横長に表示されて、
表が崩れてしまいます。何かいい方法がありましたら教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

DBを操作するのに何を使ってらっしゃるのかわからないのですが、


セルの幅は<TD WIDTH=200>等で指定して、改行されているものは改行コードを<BR>タグに置き換えることで
mayurinさんのご希望どおりに動作させることがかのうですよ。
改行コードは、ASPならvbCrLf、PHP\r\nと\r、\nです。
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。
<TD width=xxx>を指定して、vbCrLfを<BR>に置き換えることで上手く
いきました。大変助かりました。

お礼日時:2001/10/18 10:07

こんばんはmayurinさん、xruzです。


<textarea>タグにはwrapというパラメータがあります。

wrap="off" →自動改行しない
wrap="hard" →表示も送信も自動改行される
wrap="soft" →表示は自動改行されるが送信は自動改行されない

それぞれのパラメータで試されてはいかがでしょうか?
hardはphysical、softはvirtualでも構いませんよ(こちらのほうがイメージが湧きますね)。
既に試されていたらごめんなさい。
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。
最初から<TEXTAREA>にwrapを指定しておけばよかったのですね。
wrap="hard"を指定して登録してみると、上手くいきました。
今回は、既に登録されたデータもあるので、下の案と併用で
思い通りにできそうです。

お礼日時:2001/10/18 10:10

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q と、

<td></td> と、<td><BR></td>

ホームページビルダーで作ったホムペを、KompoZerというHTMLエディタで開くと、
テーブルのなにも入っていないセルに<BR>タグが勝手に挿入されてしまいます。
<td></td> と、<td><br></td> は、
ブラウザ上ではどちらでもちゃんと表示されるのですが、
HTML文法的にはどちらが正しいのでしょうか?
また、どちらも正しい場合、<br>がある・ないで、違いがあるのでしょうか?

※ホームページビルダー、KompoZerの善し悪しは無視してください。

Aベストアンサー

文法的にはどちらも正しいです。
ブラウザの種類やHTMLのモードによって、tdが空だと、見え方が違うケースがあります。
tableでborderを指定したときに、へこんで見えるかどうか。空でないとかならずへこんで見えます。

Q
内の

をそのまま表示するには?

あ<h1>テスト</h1>あ

上記テキストをそのまま表示したいのですが、<pre></pre>を使うと、<h1>タグが認識されて

テスト(←見出し文字になる)

となってしまいます。

<h1>タグ自体をそのまま表示するにはどのようにすればよろしいでしょうか?

Aベストアンサー

「<」「>」「&」等は実体参照で記述する必要があります。

< = &lt;
> = &gt;
& = &amp;

<h1>ならば「&lt;h1&gt;」のように。

Q
の最後を改行しない

エディタで書いたのがそのままHTMLで表示されるようにしたいのです。

改行のたびに<br>を使うのも一つの方法だと思いますが、それは避けたいです。

<pre>を使うと最後も改行してしまうので、テーブル等を使うと最後に空行ができてしまいます。
<pre>に最後の改行をしないというオプションでもあればよいのですが、調べたところどうやらないみたいです。

何かよい方法はないでしょうか。

Aベストアンサー

pre {
margin-bottom:0px;
}
で、「余白」が消えると思いますが、どうでしょうか。

Qで改行されてしまうのは何故ですか?

以下、IE8で閲覧したときのみ [登録を許可する] と [拒否する] の
ボタンが改行されて表示されてしまいます。
<td>登録を許可する</td><td>拒否する</td>としているので、
改行されるのはおかしいと思うのですが、IE8のバグでしょうか?

ちなみに、Firefox や Safari などでは二つのボタンは改行されず、
横並びできちんと表示されます。

また、以下ソース先頭のドキュメント宣言を削除すると、IE8でも
二つのボタンは改行されず、横並びで表示されます。
(多少上下位置がズレますが・・・)

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<body>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td>
現在 <b>1件</b> の登録申請が出ています。<br />
そのうちの <b>1番目</b> の申請です。<br /><br />

<form method="post" action="./ps_admin.cgi">
<input type="hidden" name="act" value="reg2" />
<input type="hidden" name="page" value="0" />
<input type="hidden" name="pass" value="" />

<table border="0" cellpadding="0" cellspacing="0" style="text-align:left">
<tr><td>
<table border="0" cellpadding="4">
<tr>
<td bgcolor="#ffffff">▼お名前<br />
test</td>
</tr>
<tr>
<td bgcolor="#ffffff">▼メールアドレス<br />
test<br /><br /></td>
</tr>
<tr><td bgcolor="#ffffff"><hr color="#444444"></td></tr>
<tr>
<td bgcolor="#ffffff"><br />▼サイト名<br />
<input style="width : 262px;" type="text" name="sitename" value="test" size="50" /></td>
</tr>
<tr>
<td bgcolor="#ffffff">▼サイトURL<br />
<input style="width : 362px;" type="text" name="siteurl" value="http://" size="70" /><br />
<a href="" target="_blank">ページを見るときはこのリンクから</a></td>
</tr>
<tr>
<td bgcolor="#ffffff">▼バナー<br />
無し
<input type="hidden" name="sitebanner" value="" />
</td>
</tr>

<tr>
<td bgcolor="#ffffff">▼サンプルURL<br />
無し
<input type="hidden" name="sampleurl" value=""><br /><br />
</td>
</tr>

<tr>
<td bgcolor="#ffffff">▼コメント<br />
<textarea style="width : 441px;" cols=70 rows=4 name="sitecomment">これはテストです。</textarea></td>
</tr>
<tr>
<td bgcolor="#ffffff">▼キーワード<br />
<input style="width : 362px;" type="text" name="sitekeyword" size=70 value="テスト" /></td>
</tr>
<tr>
<td bgcolor="#ffffff">▼管理人へのコメント<br />
<br /><br /></td>
</tr>
</table>
<table>
<tr><td>
<input type="hidden" name="name" value="test" />
<input type="hidden" name="email" value="" />
<input type="hidden" name="npass" value="" />
<input type="submit" value="登録を許可する" />
</form></td>
<td align="left">
<form method="post" action="./ps_admin.cgi">
<input type="hidden" name="act" value="reg3" />
<input type="hidden" name="page" value="0" />
<input type="hidden" name="pass" value="" />
<input type="hidden" name="name" value="test" />
<input type="hidden" name="sitename" value="test" />
<input type="submit" value="拒否する" /></form></td>
</tr></table></td></tr></table>
</td></tr>
</table>
</body>
</html>

IE8でのXHTML表示関連のバグでしょうか?
解決できず大変困っています。
どなたか原因がおわかりになる方がおられましたら
解決策をお教え頂ければ幸いです。

宜しくお願い致します。

以下、IE8で閲覧したときのみ [登録を許可する] と [拒否する] の
ボタンが改行されて表示されてしまいます。
<td>登録を許可する</td><td>拒否する</td>としているので、
改行されるのはおかしいと思うのですが、IE8のバグでしょうか?

ちなみに、Firefox や Safari などでは二つのボタンは改行されず、
横並びできちんと表示されます。

また、以下ソース先頭のドキュメント宣言を削除すると、IE8でも
二つのボタンは改行されず、横並びで表示されます。
(多少上下位置がズレますが・・・)

<?xml ...続きを読む

Aベストアンサー

ザックリとみた感じでは、
  登録を許可する
のセルの中で、<form>の閉じタグだけで開始タグがないですね。
開始タグは、テーブルの外の
<form method="post" action="./ps_admin.cgi">
でしょうか。

つまり、この場合には、
 <form>
  <table><tr><td>登録を許可する
 </form>
  </td><td>
   <form>拒否する</form>
  </td></tr></table>

という状態になっているのがお分かり頂けるかと思います。

数式のカッコも一緒ですが
  (………)〔~~~~〕:二つのカッコが並列

  〔(………)~~~~〕:大かっこの中に小カッコが存在
と書くことはあっても
(………〔~~)~~〕のようにそれらのカッコが閉じることなしに次の新しいカッコが始まることはありません。
タグが閉じることなしに、次のタグと混在することはないのです。

ブラウザによってはそういった不明瞭な記載はある程度自己解決しながら何とか表示するようになっていますが、その自己修復がこちらの意図と違う場合には表示に不具合が出たり、動作が不安定になったりするようです。

こちらには、IE8の動作環境がありませんのでテストはできませんが、動作不具合の解消のヒントになればうれしいです。

ザックリとみた感じでは、
  登録を許可する
のセルの中で、<form>の閉じタグだけで開始タグがないですね。
開始タグは、テーブルの外の
<form method="post" action="./ps_admin.cgi">
でしょうか。

つまり、この場合には、
 <form>
  <table><tr><td>登録を許可する
 </form>
  </td><td>
   <form>拒否する</form>
  </td></tr></table>

という状態になっているのがお分かり頂けるかと思います。

数式のカッコも一緒ですが
  (………)〔~~~~〕:二つのカッコが並列

...続きを読む

Qでテキストボックスとセルの間にわずかな隙間があいてしまう・・

<TABLE>
<!-- ここから10回ほど繰り返し -->
<TR>
<TD>
<INPUT TYPE="TEXT">
</TD>
</TR>
<!-- ここまで -->
</TALBLE>

こう書くときに、テキストボックスの下にわずかな隙間が
できるのを防ぎたいのですが、何か方法はありませんでしょうか?

Aベストアンサー

隙間をつくってしまう原因はいくつかあります。

(1) <TABLE>タグ
BORDER=0またはNOBORDERにする。
CELLSPACING=0
CELLPADDING=0

(2) <INPUT TYPE="TEXT">前後の改行
<TD><INPUT TYPE="TEXT"></TD>

(3)<FORM>や</FORM>タグの記述場所
恐らくこれが原因でしょう。
上記には記述されていませんが、
<TABLE>
<TR>
<TD>
<FORM ~>
</TD>
</TR>
<!-- ここから10回ほど繰り返し -->
<TR>
<TD>
<INPUT TYPE="TEXT">
</TD>
</TR>
<!-- ここまで -->
<TR>
<TD>
</FORM>
</TD>
</TR>
</TABLE>
としていませんか?
HTMLとしては好ましくないと思いますが、<FORM>や</FORM>の前後にある<TR><TD>~</TD></TR>を取り除き、以下の様にします。
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<FORM ~>
<!-- ここから10回ほど繰り返し -->
<TR>
<TD><INPUT TYPE="TEXT"></TD>
</TR>
<!-- ここまで -->
</FORM>
</TABLE>

尚、表の罫線を残すのであればBORDERを変更したりしてください。

隙間をつくってしまう原因はいくつかあります。

(1) <TABLE>タグ
BORDER=0またはNOBORDERにする。
CELLSPACING=0
CELLPADDING=0

(2) <INPUT TYPE="TEXT">前後の改行
<TD><INPUT TYPE="TEXT"></TD>

(3)<FORM>や</FORM>タグの記述場所
恐らくこれが原因でしょう。
上記には記述されていませんが、
<TABLE>
<TR>
<TD>
<FORM ~>
</TD>
</TR>
<!-- ここから10回ほど繰り返し -->
<TR>
<TD>
<INPUT TYPE="TEXT">
</TD>
</TR>
<!-- ここまで -->
<TR>
<TD>
</FORM>
</TD>
</TR>...続きを読む


人気Q&Aランキング

おすすめ情報