2

以下に示すテキストボックスがあります。

<%= Html.TextBox("idbox", "Enter Text here", (string)ViewBag.idbox)%>       

 $(document).ready(function () {
        $('input#idbox').focus(function () {
            var txtval = $('input#idbox').val();
            if (txtval == 'Enter Text here') { $(this).val(''); }

        });
        $('input#idbox').focusout(function () {
            var txtval = $('input#idbox').val();
            if (txtval == "") { $('input#idbox').val('Enter Text here'); }
        });
    });

Facebookのメッセージテキストエリアのようなテキストボックスを作りたいです。したがって、テキストボックスの端をクリックして文字を入力すると、「ここにテキストを入力」という値が非表示になりますが、このボックスを再度クリックしても新しい値は非表示になりません。これは、if ステートメントが常に「ここにテキストを入力してください」と値を比較するためです。このコードを変更して、フォーカスに応じてテキスト値の自動表示/非表示を有効にする方法は?

4

3 に答える 3

6

placeholder代わりに新しい機能を使用してください:

<input type="text" name="test" value="" placeholder="Enter Text here">
于 2013-08-23T12:57:08.457 に答える
2

テキストボックスのHtml 5placeholderプロパティを使用し、 http: //caniuse.com/ でブラウザの互換性を確認してください。古いブラウザの中には、html 5 プロパティをサポートしていないものがあるためです。

于 2013-08-23T13:00:44.667 に答える
0

これを試して、

<%= Html.TextBox("idbox", (string)ViewBag.idbox, new { placeholder = "my watermark" })%> 
于 2013-08-23T13:13:14.237 に答える