0
<asp:TextBox ID="TextBox2" runat="server" value="Your Text here" onfocus=" this.value = '';" onblur="if(this.value == '') ****{ this.value='?????'; }****"></asp:TextBox>

私が使用したonfocusによって達成できるテキストボックスをクリックすると、テキストボックス内のテキストが消えるようにしたい....

しかし、テキストボックスが空の場合、以前に入力した値が表示され、それが初めての場合は. 以前にテキストを入力していない場合は、デフォルト値 (「あなたのテキストをここに」) が表示されます。

例: テキスト ボックスを初めてクリックして値 '80' を入力し、もう一度テキスト ボックスをクリックすると、内側の値がクリアされ、値を入力せずに外側をクリックしている場合は '80' になります。 「Your Text here」の代わりにテキストボックスに表示する必要があります。

ありがとうございます。

4

2 に答える 2

2

ブラウザーが HTML5 をサポートしている場合:

<input type="text" placeholder="Your Text here" />

デフォルトでサポートされていないブラウザーのプレースホルダー属性をサポートする場合は、JavaScript のフォールバックを次に示します。

$('[placeholder]').focus(function() {
   var input = $(this);
   if (input.val() == input.attr('placeholder')) {
       input.val('');
       input.removeClass('placeholder');
   }
}).blur(function() {
    var input = $(this);
    if (input.val() == '' || input.val() == input.attr('placeholder')) {
        input.addClass('placeholder');
        input.val(input.attr('placeholder'));
    }
}).blur();
于 2013-02-28T09:51:38.950 に答える
0

この例のようにすることができます。グローバル変数を宣言し、ぼかし時に現在の値を取得し、クリックするとその値を null にし、現在入力されている値が null の場合は再割り当てします。

<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.3.1');
</script>
<body>
    <input type="text" value="Your text here" id="test" onclick="clicked();" onblur="outted();">
    <script>
    var pre_value = '';
    function clicked(){ pre_value = $('#test').val(); $('#test').val('');}

    function outted(){ if($('#test').val() == '') $('#test').val(pre_value); }
    </script>
</body>

それが役に立てば幸い

于 2013-02-28T10:02:27.573 に答える