2012-04-23 2 views
0

ниже JS скрипт работает нормально, но есть небольшая проблема, и проблема заключается в том, что:Как очистить текст при нажатии на любые другие элементы управления

У меня есть текстовое поле с многострочным и когда пользователь нажимает на нее, и она очищает текстовое поле, но проблема в этом; когда пользователь нажимает кнопку «Сохранить» (кнопка управления asp.net), чтобы сохранить значение текстового поля, и я хочу, чтобы это игнорировалось по коду, а также на стороне клиента.

Единственное, что я могу сделать, это сравнить значение и очистить, если оно подключено, но что делать; если у меня много элементов управления и вы не хотите распространять строку каждый раз, где в коде ...

ищет оптимальное решение.

<asp:TextBox runat="server" ID="txtNew" 
onclick="if (this.value == 'Enter here...') this.value = ''" TextMode="MultiLine" 
Rows="7" Width="100%">Enter here...</asp:TextBox> 

ответ

0

Вам не нужно жёстко ваш Enter here..., используйте defaultValue вместо этого.

<asp:TextBox runat="server" ID="txtNew" 
onclick="if (this.value == this.defaultValue) this.value = ''" TextMode="MultiLine" 
Rows="7" Width="100%">Enter here...</asp:TextBox> 

Для отделенного кода части вашего вопроса:

Я бы рекомендовал использовать RequiredFieldValidator (так как «Введите здесь» предполагает, что это обязательно). Затем вы можете использовать свойство InititalValue для текста по умолчанию, поэтому пользователь должен ввести что-то, чтобы отправить страницу.

+0

спасибо, где вы определяете this.defaultValue –

+0

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

+0

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

1

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

Почему бы не проверить атрибут html5 placeholder? Здесь приведено здесь http://jsfiddle.net/k2PLG/1/

placeholder attibute не является значением, которое опубликовано или проверено. Кроме того, поскольку вы используете javascript, вы можете убедиться, что вы включили javascript-файл html5, который заставляет эту работу работать в старых браузерах, которые ее не поддерживают.

+0

делает ли все браузерную поддержку html5? yes kinda watermark –

+0

Большинство современных браузеров, хотя IE does not, но вы можете просто использовать некоторый jt-код html5, который создает тот же эффект, когда заполнители не поддерживаются. –

+0

хорошо, когда я нажимаю на ссылку, которую вы предоставили jsfiddle, и я не вижу водяного знака, так как вы сказали, что IE не поддерживает html5, но вопрос в том, как этот код должен использоваться для использования html5 кода javascript для водяного знака? –

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