2009-05-02 6 views
0

У меня есть текстовое поле. В его onclick iam вызывается javascript fn для вызова calendar.Texbox - только для чтения. Приближается календарь в текстовом поле, и значение отображается в текстовом поле. Но при нажатии кнопки отправки, где я написал код для сохранения, я не получаю значение в текстовом поле. Что может быть причиной этого?Как получить значение в текстовом поле, которое только для чтения

ответ

8

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

+0

Очень хороший улов! +1 – Cerebrus

+0

darin, поддерживается только поддерживается всеми распространенными браузерами? Не знал об этом атрибуте. – nickytonline

+1

Это не сработает, хотя это предложение ниже, где вы не устанавливаете свойства readonly в режиме конструктора, а в кодовом коде на загрузке страницы. –

1

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

Если вы хотите, чтобы текстовое поле оставалось только на чтение (т. Е. Отключено на стороне клиента), есть скрытый ввод, который имеет значение, которое вы хотите обрабатывать на сервере, - это путь, вероятно,. Поэтому добавьте дополнительный вход для страницы. Использовать

<asp:HiddenField ... runat="server" /> 

Таким образом, код на стороне клиента, который обновляет текстовое поле только для чтения, также обновит ваш скрытый ввод.

0

если свойство readonly истинно, его не прерывать ваш вызов .cs. Вы можете использовать это как всегда:

вот ваши входы:

<asp:TextBox ID="txtBraid" runat="server" Text="Im sooo readonly" ReadOnly="True"></asp:TextBox> 
<asp:Label ID="lblBraid" runat="server" Text="Im gonna change, i promise"></asp:Label> 

на .cs странице поместить их в функции OnClick или что-то:

lblBraid.Text = txtBraid.Text; 
5

Я тоже была эта проблема, есть действительно простой обходной путь

Вместо того, чтобы делать текстовое поле ReadOnly, используя опцию свойств. Делайте это через код за добавления этого кода:

YourTextBox.Attributes.Add("readonly", "readonly"); 
+0

Работал отлично, спасибо. –

2

Вы можете получить значение с помощью

Request.Form[YourTextBox.UniqueID] 
+0

Это должен быть заметный ответ. Благодаря! –

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