2012年4月14日土曜日

Hxxk.jp - フォーカスした際に、フォームの内容をクリアするやり方


記事本文

フォーム周りのインターフェースをプチ改造しました

現在、 hxxk.jp では検索フォームやコメント投稿フォームやトラックバック送信フォームやトップページのゲストブック投稿フォームなど、多くのフォームをページ内に配置しています。 今日ふと思い立って、それらの文面を入力する部分がフォーカスされた場合に、予め書かれていた文章をクリアするように変更しました。 いただいたコメントにお返事を返す際に、 コメント本文は必須となっています。 という文章を手動で消すのがどうにも煩わしい、でも最初からテキストエリア内を空白にしたくはないということで、毎回手動で消していましたが、今回の変更で解決。

ちなみに、 JavaScript を用いて実現していますので、 JavaScript を無効にしている、あるいは無効になる環境ではフォーカスしてもクリアされません。 ソース自体は LIPPiN のコメントフォーム周りを無断で参考にさせていただきました。 というか身近な ( と私は勝手に思っている ) サイトで実践されていたのに、それに気付いていなかったということが不覚すぎます。


番目の火の著者は、次回は誰ですか?

input 要素でのクリアのやり方

まず、 type="text" である input 要素でのやり方。 ( ちなみに、 type 属性を指定しない場合の規定値は text であるので、お使いのフォームの input 要素内に type 属性が見当たらない場合もこれに該当します。 ) 名前やメールアドレスを入力する欄など、一行の入力欄に用いるやり方です。

input 要素をこのように記述することで、フォーカス時にクリアされるようになります。 気を付けなければいけないのは、 初期入力値 をきちんと統一する点です。

textarea 要素でのクリアのやり方

次に、 textarea 要素でのやり方。 コメントの本文など、複数行に渡る入力欄に用いるやり方です。


何年にビング·クロスビーが生まれた

textarea 要素をこのように記述することで、フォーカス時にクリアされるようになります。 気を付けなければいけないのは、 初期入力値 をきちんと統一する点に加え、必須属性である rows 属性と cols 属性を忘れずに指定するという点です。

謝辞

参考に……というかほとんどコピー & ペーストさせていただきました。> lego さん ( LIPPiN ) このお礼はいずれ何らかの形で。 と言ってもどういった形で行うか全く考えていませんが !

もしくはうーたん ( Bazooka ) に代わりに奉仕してもらうとか。 ( いやこの場合うーたん関係ないし ( それと起こしてくれてありがとね ! >うーたん ( 微妙に意味深 ( 実態は何てことはないことです ) ) ) )

リプライ

5 件のリプライが送られています。

2006-02-01T09:45+09:00 - うーたん

深夜までmugiの時はPCの前で寝てる可能性高し…! 僕もコメント消えるようにしよっと。


ボーロ検索とは何です
2006-02-08T00:06+09:00 - 真琴

その節はお世話になりました……って、こうしている今日も mugi なわけですが ( 謎 )

2006-04-14T22:13+09:00 - フォーカスした際にフォームの内容をクリアする JavaScript < Code-404

フォームの入力項目にフォーカスした際に、その項目がデフォルトのままなら消去し、フォーカスが外れた際に、その項目が空欄ならデフォルト値に戻す働きをする Ja...

2006-07-13T23:16+09:00 - フォーカスでフォーム内容をクリア < DesignSpeciesElement

JavaScriptで制御する方法がこちらのサイトで紹介されています。 →フォー...

2009-01-21T18:48+09:00 - フォームの初期文章を自動的にクリアするようにしてみた。 < 煤式自動連結器

当サイトをAnother HTML-lintでチェックすると、