2013-10-21 54 views
2

在我的網頁的onLoad()函數,我禁用所有控件的頁面上按以下方式的IsPostBack始終爲假按鈕後,點擊

var form = document.getElementById("form1"); 
var elements = form.elements; 
for (var i = 0, len = elements.length; i < len; ++i) { 
    elements[i].disabled = true; 
} 
document.getElementById('btnReactivate').disabled = false; 

我需要啓用(btnReactivate以上)的頁面上的一個按鈕。我遇到的問題是,只要點擊按鈕並進入Page_Load事件,Page.IsPostback總是爲false,並且代碼後面的onclick事件也不會觸發。按鈕創建

<asp:Button runat="server" ID="btnReactivate" Text="btnReactivate" onclick="btnReactivate_Click" width="80px" meta:resourcekey="btnReactivateResource1" /> 

和事件處理程序,所以

protected void btnReactivate_Click(object sender, EventArgs e) 
{} 

這可能是另外值得一提的是,我已經試過禁用表單元素在幾個不同的方式,包括剛剛在輸入循環通過控制,而不是所有元素

+0

問題是,onclick始終使用完整的回發。你是否試圖將你的表單放入更新面板? –

回答

3

我認爲這是因爲禁用控件不會回發到服務器(從而防止檢測到回發)。

您應該使控件Readonly。或者在發佈之前重新啓用它們的客戶端。

http://www.w3.org/TR/html401/interact/forms.html#adef-disabled

殘疾人控件不能成功。

,並http://www.w3.org/TR/html401/interact/forms.html#adef-readonly

只讀元素可能會成功。

+0

但是因爲我沒有禁用btnReactivate按鈕,所以上面的註釋是否適用? – user48408

+0

其實我試圖重新啓用客戶端,它似乎已經工作:) – user48408