0

ページに、フォーカス時にクリアされるゴースト テキストを含むテキスト ボックスがいくつかあります。ユーザー入力でフォントを黒に変更する方法を考えましたが、ユーザーが入力のテキストボックスをクリアした場合にフォントの色を銀色に戻す方法がわかりません。

どんな助けでもいただければ幸いです

ヘッダーの Jquery:

$(document).ready(function () {
    $('input:text').focus(function () {
        $(this).val('');
        if ((this).val !== '') {
            $(this).css('color', 'black');
        }
    });
});

CSS:

input[type="text"] {
    color: #C0C0C0;
    text-align: center;
    font-size:18px;
    height: 30px;
    width: 150px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

サンプル テキスト ボックス マークアップ:

<asp:TextBox
    ID="txtLastName"
    runat="server"
    MaxLength="50"
    onblur="if(this.value == ''){ (this.value = 'Last Name';) (this.css ('color', 'silver');)}"
    onfocus="if(this.value == 'Last Name'){this.value = '';}"
    Text="Last Name">
</asp:TextBox>
4

3 に答える 3

2

すべての jQuery onBlur と onFocus をコードの jQuery セクションに入れてみましたか?

$(document).ready(function () {
    $('input:text').blur(function () {
        if ($(this).val == '') {
            $(this).val = "Last Name";
            $(this).css('color', 'silver');
        }
    });
    $('input:text').focus(function() {
        if($(this).val == 'Last Name') {
            $(this).val = "";
            $(this).css('color', 'black');
        }
    });
});
于 2013-08-01T19:00:29.513 に答える
1

新しい HTML5 プレースホルダー属性を使用できます。

于 2013-08-01T18:35:30.847 に答える
1

これらすべての代わりにプレースホルダー属性を使用してください。Visual Studio はおそらくエラーとして波線を引くでしょうが、ほとんどのブラウザーでは問題なく動作します (VS2012 を使用していない限り、認識されます。

<asp:TextBox
    ID="txtLastName"
    Placeholder = "Last Name"
    runat="server"
    MaxLength="50"
    onblur="if(this.value == ''){ (this.value = 'Last Name';) (this.css ('color', 'silver');)}"
    onfocus="if(this.value == 'Last Name'){this.value = '';}"
    Text="Last Name">
</asp:TextBox>

ユーザーがボックス内のすべてのテキストを削除すると、プレースホルダーが返されます。これをラベルの代わりに使用しないでください。スクリーンリーダーに適していません(どちらもあなたがやっている方法ではありません)

于 2013-08-01T18:36:41.837 に答える