2012-04-24 3 views
3

Я пытаюсь использовать водяной знак для управления текстовым полем asp.net с jquery, а ниже - код, который у меня есть, я вижу заголовок в текстовом поле textarea, но когда я фокусирую или нажимаю на текстовое поле, водяной знак не ясен.Водяной знак текстового поля textarea с помощью JQuery

У меня есть сценарий отсюда. 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> 
+0

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

+0

если вы попытаетесь с помощью элемента управления textbox asp.net вы увидите поведение –

+0

Я только что запустил код в ASP.NET, и он работает как ожидается (водяной знак очищается при вводе) ... все, что я могу порекомендовать, это использование инструментов отладки браузера (трассировка и просмотр), чтобы выяснить, что происходит. – McGarnagle

ответ

7

, если вы используете только идею водяного знака есть много альтернатив и намного более простой способ добиться его

1) вы можете попробовать использовать http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/TextBoxWatermark/TextBoxWatermark.aspx

2) в HTML5 есть это новый атрибут для ввода текста под названием placeholder, который будет делать именно то, что вы хотите.

3) вы можете использовать более продвинутые JQuery плагин, как это намного легче в настройке и не требует особых усилий http://code.google.com/p/jquery-watermark/

здесь являются несколько более

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

Я надеюсь, что это помогает в некотором роде

0

Сам код работает отлично (см. это demo)

Проблема, кажется, в ваших селекторов

+0

Вы пытались с помощью управления текстовыми полями asp.net? –

+0

@AbuHamzah, чтобы быть искренним, я даже не знаю, что это такое. Но мне не нужно было знать, чтобы сузить поиски, доказав, что код работает – ajax333221

0

Вы можете также использовать управления WaterMark, что нужно меньше или вы можете сказать, никакая конфигурация просто поместить ниже код и он будет работать ...

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

Как вам может видеть, что у меня есть место data-watermark = "Enter here ...".

и да, пожалуйста, включите WaterMark Control JS с jquery.js, поскольку Watermark Control JS использует jquery. И да, вы можете анимировать свой водяной знак с помощью WaterMark Control.

Вы можете найти водяной знак управления JS от myjqueryplugin.com/watermark-control.

+0

Ваша ссылка мертва – InbetweenWeekends

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