※ここからは、JavaScriptの具体的な記述内容を紹介します。少しずつ解説しながら進めていますが、最後のソースをコピー&ペーストするだけでも使えますので、解説は読み飛ばしても問題ありません。
案内文字の表示・非表示を切り替える
それでは、入力欄にカーソルが入ったときに案内文字を消し、 カーソルが出たときに案内文字を表示させるようJavaScriptを記述しましょう。
前ページで記述したJavaScript部分に、以下のように追記します。
var GuideSentence = 'お問い合わせ番号';
function ShowFormGuide(obj) {
// 入力案内を表示
if( obj.value == '' ) {
obj.value = GuideSentence;
}
}
function HideFormGuide(obj) {
// 入力案内を消す
if( obj.value == GuideSentence ) {
obj.value='';
}
}
</script>
上記のソースを加えて表示させると、以下のように見えます。入力欄にカーソルを入れたり出したりすると、表示も変化します。
※まだ、色を変化させる記述を加えていないので、文字色は常に灰色です。ユーザが入力する文字の色も灰色のままです。色の変更は次のページで記述します。
上記ソースの解説
■2行目「var GuideSentence = 'お問い合わせ番号';」
最初に、「GuideSentence」という変数を作って案内文字を格納しています。上記では、案内文字は「お問い合わせ番号」という文字列です。 この記述は実際に使いたい内容に変更して下さい。
ここで記述する案内文字は、入力欄の初期状態の文字列(=input要素のvalue属性の値)とまったく同一でなければなりませんので注意して下さい。異なっていると、望み通りの動作になりません。
なお、もし1ページ内に複数種類の案内文字を用意する場合は、このソースをそのまま複数個コピーするのではうまく動きません。 「GuideSentence」という変数名をそれぞれ異なるものにするか、もしくはこの記事の最後でご紹介する「複数版のソース」を使って下さい。
■5行目「if( obj.value == '' ) 」
■6行目「obj.value = GuideSentence;」
「obj.value」は、入力欄に入力されている文字列を表しています。
5行目で、この中身が空かどうかを判定し、空だったら、6行目が実行されます。 6行目では、入力欄内に案内文字を入力させています。
つまり、この5~6行目は、「入力欄が空だったら、案内文字を表示する」という意味になります。
■11行目「if( obj.value == GuideSentence )」
■12行目「obj.value='';」
11行目は、入力欄に入力されている文字列が案内文字と同一かどうかを判定しています。同一であれば、12行目が実行されます。 12行目では、入力欄を空にしています。
つまり、この11~12行目は、「入力欄に入力されている文字列が案内文字だったら、入力内容を消す」という意味になります。
関連ジャンル一覧
「100円ショップで買ってよかったもの」を集めてみました
KALDI(カルディ)のオススメ商品をピックアップしました
新着・人気記事
ホームページ作成新着記事
SEO・SEMを学ぶ新着記事
SEO・SEMを学ぶデイリーランキング





















