2013-02-28 2 views
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».

Спасибо.

+0

Я думаю, что вы ищете [текст водяного знака] (http://stackoverflow.com/questions/7433589/input-with-watermark-css-jquery). – Codesleuth

ответ

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(); 
+0

, когда я нажимаю на текстовое поле, значение не очищается, и если текстовое поле пуст, оно не отображает предыдущее значение, вместо этого оно показывает только значение-заполнитель по умолчанию. –

0

You может сделать этот пример. Объявите глобальную переменную, получите текущее значение до размытия, а при щелчке сделайте его нулевым для значения, затем переназначьте, если введенное в настоящее время значение равно 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> 

надеюсь, что это помогает

+0

может указать альтернативу, где google.load не используется. . простой скрипт jQuery без использования функции google.load –

+0

@ashutosh: для кода не требуется google.load. Обычная jquery include будет работать. Я добавил его, чтобы сделать его одиноким. Вы можете удалить " " и вместо того, чтобы добавить обычный Jquery скрипт. – Hari

Смежные вопросы