AJAX TextBoxWatermarkExtender вызывает расширение текстового поля, к которому он прикреплен - PullRequest
0 голосов
/ 14 мая 2009

Вот тестовый пример проблемы. У меня есть несколько текстовых полей (multiline, wrap = true) с прикрепленными расширителями водяных знаков.

затем я набираю короткий мир, затем пробел, затем длинное слово (например, «короткий longgggggggggggggggggggggggggggggggggggggggg», который потребляет больше строки, чтобы появилась полоса прокрутки)

всякий раз, когда я устанавливаю фокус на другое текстовое поле, а затем возвращаю его обратно к текстовому полю с водяными знаками, последнее спонтанно расширяется, делая всю страницу уродливой.

Проблема возникает только в IE, Firefox выполняет то же самое.

Текстовые поля без водяных знаков и водяные знаки, но отключенные (свойство "enabled = false") также ведут себя нормально.

Google хранит молчание об этой проблеме, я не нашел даже расплывчатых советов. Очевидно, что-то не так с AJAX javascript, но как это исправить? Есть ли решения, кроме как избавиться от водяных знаков?

Кто-нибудь знает?

спасибо.

1 Ответ

0 голосов
/ 19 марта 2010

Изначально я столкнулся с проблемой, и очевидных исправлений не было видно. Проблема, похоже, связана с CSS.

В моем случае у меня было что-то вроде следующего псевдокода.

<td>
    <asp:textbox id="tbDescription" multiline="true" cssClass="tbMultiline" ..other attributes excluded for brevity />
    <asptoolkit:TextboxWatermarkExtender targetControlId="tbDescription" WatermarkCSS="tbMultilineWatermark" message="blah blah blah" ..other attributes excluded.../>
</td>

для обоих классов CSS указана ширина 100%. Однако ограничивающий TD не имеет фиксированной ширины, и поэтому он будет демонстрировать поведение расширения, которое вы видели.

Я исправил проблему, увеличив ширину до фиксированного%.

...