• 締切済み
  • 暇なときにでも

フォームの長さを固定するには?

こんにちわ。ブラウザがNNであるか、IEであるか、バージョンは何かによって入力フォームの 長さが変ってしまうというのは周知の事実ですが、これをJavascriptのバージョン分岐+IF文 で同じ長さに固定することができたような気がします・・・ このスクリプトの良い例をご存知の方、教えてください~

共感・応援の気持ちを伝えよう!

  • JavaScript
  • 回答数3
  • 閲覧数330
  • ありがとう数21

みんなの回答

  • 回答No.3

もしかしたら的外れかも知れませんが、 見た目の問題ですのでCSSで解決してはいかがでしょうか? 恐らくブラウザ問わず同じピクセルの表示になるはずです。 例) <input type="text" style="width: 180px;" /> <textarea style="width: 180px;"></textarea>

共感・感謝の気持ちを伝えよう!

  • 回答No.2

このOKWEBの回答記入欄って TEXTAREA で作られてますが、NC4.7、 IE4どちらでも同じサイズに表示されてますね。 ソース見ても特に変わっている点は無さそうです。 参考にしてみたらいかがでしょう?

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご返答ありがとうございます。 ただ、私もIEとNN両方で見ていますが、明らかに長さは違います。textareaの外側が 綺麗に色分けされたテーブルでデザインされているので、あまり違いを感じませんが、 実際には違います。 これくらいに画面いっぱいに使ったtextareaなら、多少のずれは気になるレベルでは ないのですが(実際に、shigatsuさんには同じに見えたように)、小さい入力フォームを 画像を織り交ぜて作るときにはほんの1ピクセルのずれにも泣かされているのです・・・(TT)

  • 回答No.1
noname#9414
noname#9414

手元にHTMLの本がないので、何ともいえないのですが、FORMの長さというのは、 幅ということでしょうか。それとも、全体の文章の長さというのでしょうか。 あくまで、幅・高さということを前提に書かせていただきます。 確か、テキストを書くTEXTAREAというタグには、cols(横)とrows(縦)という オプションがあったので、それで指定してはどうでしょうか。 これは、使っているブラウザによらず、フォントの大きさで、幅・高さが 決定されるので、ご要望に添うかどうかわかりませんが、お試しあれ。 間違えていたらご指摘ください。 ではでは☆

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご返答ありがとうございます。 そうです、ズバリそのフォームの長さ、高さの設定のことです。 例えばtextareaであれば確かにcols, rowsでそれぞれの数値設定ができますが、 これがちょいと曲者でして、例えば長さを50に設定しても、見る人の プラットフォーム、ブラウザがIEであるか、NNであるか、バージョンは何かによって 同じ数値50で設定されていても長さが変ってしまうのです。それによって、 レイアウトの仕様によっては、見るブラウザでがったがたにずれてしまう・・・ それで泣いているのです~(TT) で、以前JavascriptでまずそのフォームHTMLファイルにアクセスした時点で 閲覧者の使っているブラウザバージョンを取得し、それによってIF分岐で それぞれのブラウザに合わせた長さ設定を使用するようにする方法を見た記憶が あるのですが・・・ なにぶん私がプログラムは素人なもんで、理屈はわかっても、覚えたことのない 単語(言語)は話せもしないし書けもしないのです・・・

関連するQ&A

  • ネットスケープ6を簡単に判別する方法?

    ブラウザの判別方法についてなんですが、IEとNN4の判別方法については雑誌などでよく見かけるのですが、NN6を簡単に判別する方法が載っている本が見つけられませんでした。 NN6を簡単に判別する方法を知っている方がいたら、教えて下さい。 ちなみに、IEとNN4は次のようなif文で判別しています。 if (document.all) {  // IE if (document.layers) { // NN4 また、NN6と「Mozilla」は、別のものとして判断しないといけないのでしょうか? (JavaScriptでできることに、大きな違いがあるのでしょうか?) それと、最近よく耳にする「Opera」というブラウザも、IEやNNとはまった区別の判定方法をしなければいけないのでしょうか? このMozillaやOperaのJavaScriptに関する情報を載せているページなどがありましたら、是非教えて下さい。

  • ブラウザが判別出来ない。

    お世話になっております。 JavaScriptの本を購入しました。 その本にブラウザ判定のスクリプトが掲載されており、それをそのままアップしたところ、私はIE6なのにIE4と判別されてしまいました。 下記がそのスクリプトです。 ちなみに、私はXPのIE6です。 このスクリプトはこれで完璧なのでしょか? また、出来ましたら、このスクリプトを試していただけたらと思うのですが・・・よろしくお願い致します。 <script language="JavaScript"> <!-- if( navigator.appVersion.charAt(0)==4){window.location.href = "nn4.html"} // NN Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "nn5.html"} // NN Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "nn6.html"} // NN Ver6 の場合 } if( navigator.appName.charAt(0)=="M"){ if( navigator.appVersion.charAt(0)==2){window.location.href = "ie2.html"} // IE Ver2 の場合 if( navigator.appVersion.charAt(0)==3){window.location.href = "ie3.html"} // IE Ver3 の場合 if( navigator.appVersion.charAt(0)==4){window.location.href = "ie4.html"} // IE Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "ie5.html"} // IE Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "ie6.html"} // IE Ver6 の場合 } //--> </script> <noscript>JavaScript を使用しています。JavaScript を有効にしてください。</noscript>

  • ブラウザを調べて分岐させる方法

    こんにちは。 Javascriptでユーザーの閲覧環境(OS、ブラウザ)によって 違うページを見せたいんです。 Win・Macの違いについては <script language="JavaScript"> var ua = navigator.userAgent if( ua.indexOf("Mac") != -1 ){ location.href = 'mac_home.html' } else { location.href = 'win_home.html' } </script> で解決したのですが、IE、NNでの分岐のかけ方がわかりません。 同じような方法でできるらしいのですが、何度やっても失敗してしまって、 NNで閲覧しているのに、elesで指定したURLにジャンプしてしまったりします。 どなたかわかる方がいらっしゃいましたら教えてください。 お願いします。

  • 携帯・PC ブラウザ分岐の仕方を教えてください

    パソコン向けで、IE、NNのブラウザ分岐の方法は 解るのですが、 携帯からのアクセスがあった場合、ブラウザ分岐をする方法が 解りません。 →http://www.*****.jp/というサイトにアクセスがあった場合、 PC、IE→ie.html PC、NN→nn.html 携帯電話 →mobile.html のように表示させるページをかえるにはどうしたらいいでしょか?

  • フォームに入力しているのにはじかれてしまう

    詳細がわからないのですが、 あるWebでフォームに住所や氏名などを入力して、送信ボタンで内容を送るページを作成しています。 たまに、全ての項目に入力しているのに例えば「住所がブランクです。入力してください」というMsgではじかれてしまうという問い合わせがあります。 よく、「Cookieを有効にしてください」とか「JavaScriptがどうのこうの」ということが書いてあるフォームもありますが、本当の所原因は何でしょうか。 例えばブラウザはIEでしか使用できない、や他に原因があるのでしょうか。 よろしくお願いします。初心者です。

    • ベストアンサー
    • CGI
  • HTML内の入力フォームからのメール送信(NN6)が出来ない?

    お世話になっております、また詰まってしまいました。今回の不具合も過去ログを探して見たのですが見つからなかったので質問します。>html、NN6 (今まででこの不具合に関する質問が無いのが不思議デス。) HTML上で入力フォームで「送信ボタン」を押すと指定されたアドレスに入力された内容を送るページを作りました。 IEとNN4.7では正常に動作してます。が、NN6.2で「送信ボタン」を押すと設定したメーラーが立ち上がってしまい(しかも入力した内容は無視された白紙の新規メールです)、送ることができません。 もし、「NN6はこういう仕様」ということであれば諦めます。そうなるとcgiか、javascript&?subjectなどでなんとか作成してみます。それか、「NN6を使用の方はこちらをコピー&ペーストしてメーラーソフトからお送りください」と表記するしかないですね。 もし同じ不具合に困った方が、いらっしゃいますか?分かる方、教えていただけたら嬉しいです。

  • クリックで文字が消える入力フォーム(IE6対応)

    いつもお世話になっております。javascript初心者です。 あちこちで見かける入力フォームの初期値がクリック(あるいはオンマウス)で消える、ということがしたいと思い、いろいろと検索してそれを可能にするjavascript(以下のサイト)を見つけました。 http://theologia.blog21.fc2.com/blog-entry-59.html 上記のページのサンプル(フォーム部分)をIE8やFierfox、Google Chromeなどのブラウザで確認したところ問題なく動作していたのですが、IE6では文字が消えるものの肝心の文字入力ができませんでした。 アクセスしてくださっている方の1割程度はIE6ユーザーのため対応したいと思い、相談に伺いました。 上記のホームページのjavascriptをIE6でも機能させる方法、または逆にIE6ではまったく機能させない(文字が消えない代わりに文字入力ができる)方法はありますでしょうか? またできない場合、他に上記のことを可能とするjavascript(いろいろなブラウザに対応しているもの)をご存知ないでしょうか? ご教示いただけましたら助かります。 よろしくお願いします。

  • IEでフォーム入力が不調です。

    最近IEでフォームに書き込むと(例えば掲示板やログイン画面など)、入力欄の移動や送信ボタンを押したときの処理など、全てにわたって反応が遅いのです。 場合によりますが、移動で10秒、送信で30秒くらいかかります。 試しにNNをインストールして書き込んでみたらなんの支障もなく送信できました。今もNNで書き込んでいます。 だったらNNを使えばいいじゃないかってことになりますが、個人的にIEの方が好きなので・・・。 なにか考えられる原因はあるのでしょうか?

  • 新旧のブラウザを同居させたい

    JavaScriptの動作チェックをするのに、新旧のブラウザ、たとえば現行IE5でみるとちゃんと動くけれどIE3でみると表示がおかしい、ということがあります。いま自分のパソコンにはIE5,NN4.6が入っているのですが、IE3.2をインストールしようとすると、「!旧バージョンをインストールしようとしています!」とエラーがでてインストールできませんよね。インストールする方法や、お互いがうまく干渉せずに使える方法ってありますか?IE、NN共に知りたいです。

  • 自動フォーム入力について

    JavaScriptに関して質問させてください。 Webブラウザのフォーム関連です。 テキスト入力フォームに文字を入力すると、 別のテキスト入力フォームにも同じ文字が入るスクリプトを作ってます。 var autoin=document.setting.basename.value;  ↑まずbasenameと言うnameのvalue値をautoinに代入。 if (document.forms[0].gaitou){document.forms[0].id.value=autoin;}  ↑nameがgaitouに該当するフォームオブジェクトのvalueにautoinの値を入れる。 この時にnameがgaitou 尚かつ「inputtypeがhidden以外」である事を条件に入れたいのです。 言い換えるとhiddenの場合はnameが該当しても実行されないようにしたいと言う事です。 何か良い方法はないでしょうか。 複数の方法を教示頂けると嬉しいです。 どうか宜しくお願い致します。