Запретить пользователям изменять дату в текстовом поле - PullRequest
2 голосов
/ 04 августа 2010

У меня есть текстовое поле со значком календаря рядом с ним. При нажатии на значок всплывающая форма отображает элемент управления календаря. Он настроен так, что они могут выбрать только дату окончания недели (субботу), и эта дата отображается в текстовом поле.

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

Как я могу запретить пользователям изменять дату в текстовом поле?

(я использую шаблон стартового комплекта .Net time tracker для сайта)

Ответы [ 5 ]

2 голосов
/ 04 августа 2010

Я делаю это, устанавливая текстовое поле как свойство только для чтения со стороны на стороне сервера .

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        txtStartDate.Attributes.Add("readonly", "readonly");
        txtEndDate.Attributes.Add("readonly", "readonly");
    }
}

Это работает и не зависит от JavaScript.

1 голос
/ 04 августа 2010

Попробуйте вместо этого использовать Label, стилизованный под TextBox. Вы также можете установить свойство Enabled TextBox на false, но это может не сработать, в зависимости от того, что вы делаете. Альтернативой, вероятно, является использование некоторого JS для предотвращения изменения значения, но это может оказаться довольно сложным.

0 голосов
/ 04 августа 2010

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

0 голосов
/ 04 августа 2010

Вы можете вызвать javascript blur() в событии onfocus:

<asp:TextBox onfocus="blur();" ... />
0 голосов
/ 04 августа 2010

Я знаю, что это хак, но вы всегда можете сохранить выбранную дату как переменную. Затем используйте actionlistener, который вызывается при изменении значения. Если дата недействительна (т. Е. Не дата окончания недели), замените текстовое поле на сохраненную переменную. В противном случае, если дата является значением, замените переменную, если пользователь изменяет ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...