好的。這是背景。如何在PostBack上動態禁用TexBox
我有一個應該接受檢查。用戶有2個單選按鈕。第一個單選按鈕有一個與其關聯的下拉列表,其中包含以前使用的支票帳戶的被屏蔽號碼。
第二個單選按鈕有三個文本框和一個與其關聯的支票圖像。
當用戶點擊此頁面時,與第二個單選按鈕關聯的三個文本框和檢查圖像被禁用。然後,如果用戶決定他/她想要使用新的支票賬戶,他們可以點擊第二個單選按鈕,並激活啓用三個複選框的Javascript和與第二個單選按鈕關聯的支票圖像。如果他們點擊第一個單選按鈕,它將重新禁用文本框並隱藏與第二個單選按鈕關聯的檢查圖像。
當我執行服務器端驗證時,會出現問題。在驗證完所有文本字段後,如果出現問題,我只是跳出代碼的底部,回發頁面,並在違規文本字段上方顯示錯誤消息。
一個警告:應該觸發第一個單選按鈕的OnClick事件觸發的Javascript和第二個單選按鈕的文本字段被禁用。用戶可以點擊第二個單選按鈕並啓用字段,但這非常笨拙。
這裏是使代碼在那裏我注入的JavaScript:
Private Sub JavascriptInject()
Dim sEnableControls As String
Dim sDisableControls As String
'write out the enable controls script
sEnableControls = "<script type=""text/javascript"">function EnableControls(){ "
sEnableControls = sEnableControls & "document.getElementById('txtRoutingNumMult').disabled=false;"
sEnableControls = sEnableControls & "document.getElementById('txtECheckNumMult').disabled=false;"
sEnableControls = sEnableControls & "document.getElementById('txtECHeckNameMult').disabled=false;"
sEnableControls = sEnableControls & "document.getElementById('imgCheckMult').style.display='';"
sEnableControls = sEnableControls & " }</script>"
'write out the disable controls script
sDisableControls = "<script type=""text/javascript"">function DisableControls(){ "
sDisableControls = sDisableControls & "document.getElementById('txtRoutingNumMult').disabled=true;"
sDisableControls = sDisableControls & "document.getElementById('txtECheckNumMult').disabled=true;"
sDisableControls = sDisableControls & "document.getElementById('txtECHeckNameMult').disabled=true;"
sDisableControls = sDisableControls & "document.getElementById('imgCheckMult').style.display='none';"
sDisableControls = sDisableControls & " }</script>"
'inject it
ClientScript.RegisterStartupScript(Me.GetType, "EnableControls", sEnableControls)
ClientScript.RegisterStartupScript(Me.GetType, "DisableControls", sDisableControls)
rbECheckNew.Attributes.Add("OnClick", "EnableControls()")
rbECheckPrev.Attributes.Add("OnClick", "DisableControls()")
End Sub
我怎樣才能重新啓用在驗證失敗回傳的文本框中?
我很高興我沒有任何關於你正在工作的項目。 – Jason 2011-03-25 22:20:58
爲什麼呢,賈森? – crackedcornjimmy 2011-03-25 22:46:31
它只是看起來最麻煩的方式來做JavaScript和幾乎不可維護 – Jason 2011-03-25 22:47:51