特定のクラスを持つすべてのフィールドをインライン ラベルに初期化する関数を作成しています。パスワード フィールドに文字ではなく * が表示されるという明らかな問題があります。私はこの問題をほぼ克服しました。ユーザー名とパスワードを切り替えると、ぼかしまたはフォーカス時に置き換えるために保存した値が失われます。これまでに作成したコードは次のとおりです。これは、ドキュメントの準備ができたときに呼び出される関数の一部です。
$('.inlineLabel').focus(function() {
if ($(this).attr("initial") === undefined) {
$(this).attr("initial",$(this).val());
}
if ($(this).val() === $(this).attr("initial")) {
$(this).val("");
}
}).blur(function() {
if ($(this).val() === "") {
$(this).val($(this).attr("initial"));
}
});
var passwordElement = $('input#password').clone(true);
var label = $("<input type='text' />").attr({
id: 'label',
name: passwordElement.name,
value: 'Password' });
passwordElement.blur(function() {
$('input#password').replaceWith(label);
});
$(this).replaceWith(label);
label.focus(function() {
$(this).replaceWith(passwordElement);
console.log(passwordElement);
$('input#password').focus();
});