JavaScriptを利用して登録フォームのテキストボックスにtitleタグに指定した文字列を入力例として表示する方法を記します。
この処理は
- フォーカスが外れたとき入力した文字列がないまたは、入力した文字列がtitleタグの入力内容と同じ場合、入力例を表示する
- フォーカスされている場合入力した文字列がtitleタグの入力内容と異なる場合、入力した文字列を通常のフォント色で表示する
名前: | |
---|---|
住所: | |
ソースは以下のようになります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> | |
<script type="text/javascript"> | |
<!-- | |
$(document).ready(function() { | |
// 入力例のフォント色 | |
var sampleColor = '#999999'; | |
// 入力文字のフォント色 | |
var inputColor = '#000000'; | |
$('.text') | |
// フォーカスを外れたときの動作 | |
.blur(function(){ | |
var _$ = $(this); | |
if(_$.val() == '' || _$.val() == _$.attr('title')){ | |
_$.css('color', sampleColor) | |
.val(_$.attr('title')); | |
} | |
}) | |
// フォーカスされたときの動作 | |
.focus(function(){ | |
var _$ = $(this); | |
_$.css('color', inputColor); | |
if(_$.val()==_$.attr('title')){ | |
_$.val(''); | |
} | |
}) | |
.parents().submit(function() { | |
// サブミットしたときに、入力例が実際の入力内容として | |
// サーバに送信されないようにする。 | |
$('.text').each(function () { | |
// focusイベントに登録した処理を実行するけど、イベントは発生させない | |
$(this).triggerHandler("focus"); | |
}); | |
$('.message').html('submitしたときは、このように入力例がサーバに送信されないようにします。'); | |
// この画面はサンプルなので、実際にはsubmitしないようにする。 | |
return false; | |
}) | |
.end() | |
.each(function () { | |
// blurイベントに登録した処理を実行するけど、イベントは発生させない | |
$(this).triggerHandler("blur"); | |
}) | |
}); | |
// --> | |
</script> | |
<form style="margin:0px;padding:0px;"> | |
<div class="message" style="height:1em;font-size:80%;width:250px;margin:0px;padding:0px;"> | |
| |
</div> | |
<table> | |
<tr> | |
<th>名前:</th> | |
<td><input type="text" name="name" size="30" maxlength="60" title="サンプル 太郎" class="text name"></td> | |
</tr> | |
<tr> | |
<th>住所:</th> | |
<td><input type="text" name="address" size="30" maxlength="60" title="神奈川県横浜市金沢区" class="text address"></td> | |
</tr> | |
<tr> | |
<td colspan="2" style="text-align:center;"> | |
<input type="submit" name="submit" value="なんちゃってsubmit" style="width:150px;"> | |
</td> | |
</tr> | |
</table> | |
</form> |
※追伸 >- この投稿が役にたったと思った方は、上か下の広告をクリックしていただけるとうれいいです。
0 件のコメント:
コメントを投稿