ラベルを別に作らなくても入力してほしい値を表示させることが出来る。
スペースの苦しい場合などに重宝するが、IE9以下にはその機能がないため、
疑似的にプレースホルダーを実現する仕組みをネットでいろいろ調べてみた。
http://jsfiddle.net/XB5WW/light/
//IE9以下の場合はplaceholderの値をvalueに変換
if(ie() <= 9) {
var searchText = $("#s").attr("placeholder");
$("#s").val(searchText);
$("#s").css("color", "#999");
$("#s").focus(function() {
if($(this).val() == searchText) {
$(this).val("");
$(this).css("color", "#000");
}
}).blur(function() {
if($(this).val() == "") {
$(this).val(searchText);
$("#s").css("color", "#999");
}
});
}
//IE使用バージョン取得
function ie() {
var undef, v = 3, div = document.createElement('div');
while (
div.innerHTML = '',
div.getElementsByTagName('i')[0]
);
return v> 4 ? v : undef;
}