OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

テキストエリアの行文字数の固定について

  • すぐに回答を!
  • 質問No.224670
  • 閲覧数1317
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (8/16)

現在、HTMLを作成しているのですが、
画面で入力した情報を取得して、
PDFに反映させるといったことをしています。

そこで、テキストエリアに入力したままを
PDFに出力する箇所があるのですが、
テキストエリアのcolsで指定したバイト数よりも
全角文字が多く入ってしまうので、
PDFと画面で若干ずれが生じています。

現在はcols88でフォントはMSゴシックを指定しています。
この場合ですと、1バイト文字()は88バイト(88文字)入るのですが、
2バイト文字(全角文字)だと94バイト(47文字)
入ってしまいます。
フォントはゴシックとほぼ同じ種類だったら
問題ないので、フォントで対応できる場合も
ご教授ください。
又、この問題はどうしようもない問題とご存知でしたら、
そちらもご教授ください。
よろしくお願い致します。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル12

ベストアンサー率 75% (398/526)

「MS ゴシック」が、完全な等幅フォントではない(全角と半角の名場が異なる)ことが原因です。
ただし、フォントサイズが 1.5 の倍数の時には、完全な等幅になるようなので、フォントサイズを 12 あたりに設定してやるとよいでしょう。

 <TEXTAREA style="font:12px 'MS ゴシック'" cols="88"></TEXTAREA>

このようにしておけば、全角/半角が混じっても、88バイト分しか入らなくなります。
お礼コメント
piro2

お礼率 50% (8/16)

ご回答ありがとうございます。

1.5の倍数時に等幅なるというので
問題が解決しました。
フォントサイズを9にすることにしました。
助かりました、ありがとうございます。
投稿日時 - 2002-02-25 19:24:51
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

テキストエリアに、  MAXLENGTH=n(入力可能な文字数)  を追加して下さい。 例 <INPUT TYPE="TEXT" NAME="UID" VALUE='' SIZE=12 MAXLENGTH=8>  で、半角で8文字まで入力可能になります。 ...続きを読む
テキストエリアに、
 MAXLENGTH=n(入力可能な文字数)
 を追加して下さい。

<INPUT TYPE="TEXT" NAME="UID" VALUE='' SIZE=12 MAXLENGTH=8>
 で、半角で8文字まで入力可能になります。
補足コメント
piro2

お礼率 50% (8/16)

早速のご回答ありがとうございます。
また、質問の内容が曖昧ですいませんでした。

テキストフィールドであれば
MAXLENGTHを使用して制限が可能ですが、
テキストエリアだと無理だと思います。
また、MAXLENGTHの場合は、文字数になってしまうので、
全角文字でもMAXLENGTHで指定した文字数まで
入力可能になってしまいます。
今回はバイト数で制限したい状態です。
曖昧で申し訳ございませんが、
よろしくお願い致します。
投稿日時 - 2002-02-25 14:51:04
  • 回答No.2
レベル11

ベストアンサー率 53% (199/370)

こんにちは。COLSとかかれているからには、<TEXTAREA>のほうですよね? となると、MAXLENGTHで指定するわけにもいきませんね。 (しかも、MAXLENGTHの解釈はIEとNNで異なり、文字数だったりバイト数 だったりするので汎用性がないですし・・・) 試していないので申し訳ないのですが、<TT>でうまくいかないでしょうか? TeleType、等幅フォン ...続きを読む
こんにちは。COLSとかかれているからには、<TEXTAREA>のほうですよね?
となると、MAXLENGTHで指定するわけにもいきませんね。
(しかも、MAXLENGTHの解釈はIEとNNで異なり、文字数だったりバイト数
だったりするので汎用性がないですし・・・)

試していないので申し訳ないのですが、<TT>でうまくいかないでしょうか?
TeleType、等幅フォントとするタグです。
プロポーショナルフォントを使うと、どうしても1バイト文字2つと2バイト文字1つ
の幅が同じにはならないと思いますので。

#フォントの見栄えが変わってしまいますが・・・
補足コメント
piro2

お礼率 50% (8/16)

ご回答ありがとうございます。

ご教授頂いた<TT>を以下のように試したのですが、
<TT>タグがきかないようです。
【試したHTML】
<TT><TEXTAREA></TEXTAREA></TT>

そこで、少し<TT>を試したところ
ラベル系の文字に効果が出るようでした。
しかし、
12345678901234567890
あいうえおかきくけこ
と<TT>タグ付のラベルで試したところ
若干ずれが生じるみたいです。

他の方法がございましたら、ご教授お願い致します。
投稿日時 - 2002-02-25 15:45:04
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ