2009-05-02 120 views
0

我有一個textbox.In它的onclick IAM調用JavaScript FN鍵調用calendar.Texbox是隻讀的。點擊文本框日曆即將到來,並在文本框中顯示值。但點擊提交按鈕,我已經寫了代碼保存,我沒有在文本框中獲得價值。這可能是什麼原因?如何獲得一個文本框是價值只讀

回答

8

我懷疑你的文本框有disabled屬性,而不是readonly,它阻止它將其值發佈到服務器。

+0

很好的捕捉獲得的價值! +1 – Cerebrus 2009-05-02 08:27:39

+0

darin,是否被所有常用瀏覽器支持?不知道這個屬性。 – nickytonline 2009-05-04 20:37:14

+1

這不起作用,不過下面的建議是什麼呢,你不在設計器模式下設置只讀屬性,而是在頁面加載的代碼隱藏中。 – 2012-05-07 12:12:51

1

我猜的文本框被禁止,因此人們不得不使用日曆控件輸入一個日期?該文本框僅用於顯示選定的日期?

如果你想在文本框留只讀(即禁用客戶端),必須有要處理的服務器上的值隱藏的輸入是可能的路要走。因此,添加一個額外的輸入到頁面。使用

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

因此,更新只讀文本框的客戶端代碼也會更新您的隱藏輸入。

0

如果只讀屬性爲true,它不會破壞你的.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

我有這個問題也有一個非常簡單的解決方法

代替把文本框只讀使用屬性選項。做到這一點直通後面的代碼中添加以下代碼:

YourTextBox.Attributes.Add("readonly", "readonly"); 
2

您可以通過使用

Request.Form[YourTextBox.UniqueID]