2010-11-26 2 views
2

Я получил это текстовое поле со значением по умолчанию как «Имя». Теперь, когда я нажимаю внутри этого текстового поля для ввода имени, это значение «Имя» продолжает отображаться. Я хочу, чтобы текстовое окно очистилось, как только я щелкнул внутри него. Какое свойство необходимо установить в тег mt textbox?Удаление текста по умолчанию из текстового поля

[Изменить] ok что угодно от Telerik, что я могу использовать для этого?

+0

Это управление asp или html? – 2010-11-26 04:30:39

+0

Обновлен мой ответ с информацией о Telerik – Josh 2010-11-26 05:20:31

ответ

6

В TextBox нет функциональности в блоке, но у ASP.Net Ajax Toolkit есть Watermark Extender, который сделает все, что вы захотите.

Я использовал оба, но теперь лично использовать jQuery Watermark Plugin

Либо будет работать нормально, выбрать в зависимости от потребностей.

В соответствии с документами Telerik вам просто нужно установить свойство EmptyMessage на свой элемент управления TextBox. Demo Page Here

+0

thnx..yeah Я сделал это именно так. Не правда ли, просто любите телерик? Я знаю, что знаю: D – Serenity 2010-11-26 20:08:28

2

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

TextBox1.Attributes.Add("onClick", "javascript:if(this.value=='First Name'){this.value='';}"); 
2

Вы можете использовать метод, предложенный @Josh. Если вы не хотите использовать элементы управления Ajax Toolkit или JQuery, вы можете написать его самостоятельно, используя Javascript. Напишите функцию, которая вызывается, когда foucs получен элементом управления текстовым полем. Эта функция называется onfocus или просто фокусируется на Javascript.

2

Привет Я просто написал эту маленькую функцию, которая будет достичь желаемого результата

function clearInputBox(x,prefil){ 
    if(x.value == prefil){ 
     x.value = ''; 
    } 
} 

Ваше окно ввода выглядит следующим образом

<input type='text' value='First Name' onfocus="clearInputBox(this,'First Name')" /> 
0

советоваться Shobans один шаг дальше, вы могли бы добавить что-то вроде этого к подклассу вашей страницы

protected override void OnInitComplete(EventArgs e) 
{ 
    string jsString = "javascript:if(this.value=='" + TextBox1.Text + "'){this.value='';}"; 
    TextBox1.Attributes.Add("onFocus", jsString); 
    base.OnInitComplete(e); 
} 

Что это будет делать, это всегда будет nsider, что строка по умолчанию является той, которую этот элемент управления содержит во время выполнения (исходный файл в вашем .aspx-файле), поэтому вам не придется вручную изменять его в codebehind каждый раз, когда вы изменяете свой .aspx. Помните, что OnIinitComplete срабатывает до того, как были применены любые данные в представлении или обратной передаче, но после того, как на ваших страницах установлены значения по умолчанию.

P.S. Как указал anishMarokey, используйте onFocus vs onClick, так как поля могут получить фокус без кликов через клавишу Tab.

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