3

jqueryでasp.netテキストボックスコントロールに透かしを使用しようとしていますが、以下はコードです。テキストエリアテキストボックスにタイトルが表示されますが、テキストボックスにフォーカスまたはクリックすると透かしがクリアされません。

ここからスクリプトを取得しました。http://www.ajaxblender.com/howto-add-hints-form-auto-focus-using-javascript.html

<asp:TextBox runat="server" ID="txtNew" class="auto-hint" title="Enter here ..." 
TextMode="MultiLine" Rows="7" Width="100%"></asp:TextBox>


<script type="text/javascript">
    $(document).ready(function () {
        // Focus auto-focus fields 
       $('.auto-focus:first').focus();

        // Initialize auto-hint fields 
        $('INPUT.auto-hint, TEXTAREA.auto-hint').focus(function () {
            if ($(this).val() == $(this).attr('title')) {
                $(this).val('');
                $(this).removeClass('auto-hint');
            }
        });

        $('INPUT.auto-hint, TEXTAREA.auto-hint').blur(function () {
            if ($(this).val() == '' && $(this).attr('title') != '') {
                $(this).val($(this).attr('title'));
                $(this).addClass('auto-hint');
            }
        });

        $('INPUT.auto-hint, TEXTAREA.auto-hint').each(function () {
            if ($(this).attr('title') == '') { return; }
            if ($(this).val() == '') { $(this).val($(this).attr('title')); }
            else { $(this).removeClass('auto-hint'); }
        });

    }); 
</script> 
4

3 に答える 3

7

透かしのアイデアだけを使用している場合は、多くの代替手段があり、それを実現するためのより簡単な方法があります

1) http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/TextBoxWatermark/TextBoxWatermark.aspxを使用して試すことができます

2)HTML5には、プレースホルダーと呼ばれる入力テキストの新しい属性があり、まさにあなたが望むことを行います。

3)このようなより高度なjqueryプラグインを使用すると、セットアップがはるかに簡単になり、多くの労力を必要としません http://code.google.com/p/jquery-watermark/

ここにいくつかあります

http://wiki.jqueryui.com/w/page/12138131/Watermark

何らかの形で役立つことを願っています

于 2012-04-24T02:51:09.100 に答える
0

コード自体は問題なく動作します (このデモを参照してください) 。

問題はセレクターにあるようです

于 2012-04-24T02:51:46.640 に答える