• ベストアンサー

<INPUT TYPE="TEXT">について

Another HTML-lint gatewayというサイトでHTMLの文法チェックをしたところ、「<INPUT TYPE="TEXT"> には VALUE 属性で初期値となるテキストを指定しておきましょう。」という指摘を受けました。 詳細を確認したところ ------------------------------------------------------------------- <TAG> には初期値となるテキストを指定しておきましょう。 <INPUT type="text"> や <TEXTAREA> には、何か初期値となるようなテキストをあらかじめ書いておくことがWAIで薦められています。その理由に、空だと正しく処理できないWWWブラウザの可能性が示されています。 ------------------------------------------------------------------- ということが記載されていました。 これはどういうことなのでしょうか? わかる方いらっしゃいましたら、ご教授お願いいたします。

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

  • ベストアンサー
noname#56882
noname#56882
回答No.4

> 「ここに文字を入力してください」の箇所が自然に消えるようにすることは可能でしょうか? <input type="text" onfocus="if (this.value == 'ここに文字を入力してください') this.value = '';" onblur="if (this.value == '') this.value = 'ここに文字を入力してください';" value="ここに文字を入力してください"> これでうまく行くと思いますよ。一度お試しください。

masarin16
質問者

お礼

多忙につきお礼が遅くなり申し訳ありませんでした。 無事に解決いたしました。 ほんとうにありがとうございました。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

たとえばjavascriptで <input type="text" value="ここに文字を入力してください" onclick="this.value=this.value.replace(/ここに文字を入力してください/,'')"> ちゃんとやるにはもうすこし工夫が必要です

masarin16
質問者

お礼

お礼が遅くなり、申し訳ございません。 無事解決いたしました。 ほんとうにありがとうございました。

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは 古いブラウザ用にWAIで奨められているようです(WAI固有のもの?) エラー分類(文法的にもHTMLとしても正しいが、WAIやテクニカルノートやRFCで推奨されていないもの。) http://www.kanzaki.com/docs/html/htminfo31.html#S3 一応HTML4.01ではvalueはtype="radio"以外では省略可能となっていてW3Cでは書いていなくてもOKです(^^) http://www.hajimeteno.ne.jp/html40/v/value.html http://validator.w3.org/#validate_by_input W3Cチェックしながら作っているのでちょっとした付け足しや修正で100点取ることは可能ですがエラーもなくそうと思うとこういった省略可能なものまで書いていかないといけないので(重要度0のエラーがずらずらっと(><))個人的にはちょっと・・・って感じですが満点取れるよう頑張ってください(^^)

masarin16
質問者

お礼

お返事が遅くなり、申し訳ございませんでした。 leap_dayさんとNymphLunaさんから詳しく説明していただいたおかげで 解決いたしました。ほんとうにありがとうございます。 しかし、valueを入れてから、ちょっとした疑問ができました。 ---------------------------------------------------------- <input type="text" value="ここに文字を入力してください"> ---------------------------------------------------------- としたときに、テキスト欄にはvalueを入れているので 「ここに文字を入力してください」と初めから記入されています。 新たに文字を入力しようと思ったら、「ここに文字を入力してください」の箇所を消してからになります。 そこで、新たに文字を入力するとき、テキスト欄をクリックすると 「ここに文字を入力してください」の箇所が自然に消えるようにすることは可能でしょうか? 以前どこかのサイトでみたような気がするのですが、ご存じであれば教えていただけると助かります。

noname#56882
noname#56882
回答No.1

うまく説明できなくて申し訳ないのですが <input type="text" size="○○" name="○○" value=""> の「value=""」がついていないとこの表示がでるようです。 「入力フィールドに最初から入力されている初期値を指定します。」という意味らしいです。 参考:http://www.seifusou.net/html/Tag9.html#INAME http://www.nichibun.net/applications/collection/ac2001/ac0315/webstudy20.3.html

masarin16
質問者

お礼

お返事が遅くなり申し訳ありませんでした。 なるほどです! 「初期値を指定」と書かれていたので、初期値ってなんだろう――と深く考えていました。 単に「value」を入れてあげたらよかったのですね。 実際に入力して、Another HTML-lint gatewayのHTML文法チェックを行なったところ、解決いたしました!