Как установить ширину текстового поля, чтобы быть тем же как MaxLength в ASP.NET

Существует ли способ, которым я могу ограничить ширину текстового поля, чтобы быть равным свойству MaxLength? В моем случае прямо сейчас, управление текстовым полем помещается в ячейку таблицы как в этом отрывке:

<td class=TDSmallerBold style="width:90%">
        <asp:textbox id="txtTitle" runat="server"
            CausesValidation="true"
            Text="Type a title here..be concise but descriptive. Include price."
            ToolTip="Describe the item with a short pithy title (most important keywords first). Include the price. The title you provide here will be the primary text found by search engines that index Zipeee content." 
            MaxLength="60"
            Width="100%">
        </asp:textbox>

(Я знаю, что не должен использовать HTML-таблицы для расположения органов управления.. другой предмет наверняка), но там способ ограничить фактическую ширину к макс. количеству символов, позволенных во введенном поле?

5
задан John Adams 10 June 2010 в 22:34
поделиться

2 ответа

Это не будет точным, потому что символы могут отличаться по ширине. Но если бы вы действительно серьезно подошли к этому, вы могли бы сделать это с помощью Javascript (jQuery). Шаги будут такими:

  • Создайте span за пределами экрана (top:-1000px или что-то в этом роде)
  • Убедитесь, что span имеет те же стили/классы, что и ваше текстовое поле
  • Заполните span 60 символами
  • Используйте jQuery для измерения ширины span
  • Примените эту ширину к текстовому полю

Это техника, похожая на авторасширяющиеся текстовые области, которые вы видите в Facebook и т.п.: http://james.padolsey.com/javascript/jquery-plugin-autoresize/

(В этом случае вы делаете это горизонтально, а не вертикально.)

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

3
ответ дан 14 December 2019 в 13:26
поделиться

Я использую HTML-свойство cols

Поэтому в вашем примере я бы использовал

     <td class=TDSmallerBold style="width:90%">
    <asp:textbox id="txtTitle" runat="server"
        CausesValidation="true"
        Text="Type a title here..be concise but descriptive. Include price."
         ToolTip="Blah Blah I don't like horizotal scroll-bars" 
        MaxLength="60"
        Width="100%"
         Cols="60" 
      >
    </asp:textbox>

Я никогда не пробовал это, но мне интересно, есть ли способ связать оба свойства вместе. То есть установка MaxLength также устанавливает cols, было бы интересным упражнением

0
ответ дан 14 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: