2012-09-07 39 views
0

這是一個現有的Visual Studio 2003項目(用VB編寫)。有一個輸入表格,其中包含許多字段,包括due date字段。根據在Reason type下拉列表中選擇的值,該字段被激活並且它也是可編輯的。最近,我必須禁用due date字段,以便填充值無法更改(基於登錄的用戶)。我面臨的問題是當點擊提交按鈕時,會打開一個IE彈出窗口,並且`截止日期'字段中的vlaue消失並變爲空白。單擊提交時,輸入字段爲空

Private Sub btnSubmitOrdersTab_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmitOrdersTab.Click 
     If Not Me.txtPRCEmail.Value.Length = 0 Or Not hPRCEmail.Value.Length = 0 Then 
       SubmitClick() 
     Else 
       RegisterStartupScript("PRCEmail", "<script language=javascript>window.open (""" & CType(Application("cBaseURL"), String) & "administration/supervisors/Orders/prc_email_reason.aspx"",null,""height=200,width=400,status=yes,toolbar=no,menubar=no,location=no"");</script>") 
     End If 
End Sub 

我嘗試了使用duedatevalue = Me.txtDueDate.ValueRegisterStartupScript()功能之前拿到due date的價值,但它是空的。

有什麼辦法可以阻止due date字段變空白。如果due date字段未被禁用,則這不是問題。

這是我從onload事件<body>事件中調用的Java腳本函數禁用截止日期。

function DisableDueDate() 
      { 
            if (udisable == "true") 
        document.getElementById("divduedate").setAttribute('disabled',true); 

       else 
        document.getElementById("divduedate").setAttribute('disabled',false); 

      } 

我使用禁用的原因是因爲截止日期是在<td>標籤與旁邊一個GIF(而不是服務器控件),點擊時,使用戶可以選擇一個會彈出一個壓延沿日期。我希望禁用<td>標記的全部內容(包括gif)。

回答

0

使用只讀而是採用禁用文本框,如果你想讀的服務器端texbox的價值。

document.getElementById("divduedate").setAttribute('readonly',true); 

OR

document.getElementById("divduedate").readOnly=true 

OR

使用jQuery:

$('#readonly').attr("readonly", true) 

殘疾人屬性將不會允許 「divduedate」 它的價值張貼到服務器。

+0

我使用禁用的原因是因爲截止日期是在一個div標籤以及旁邊的一個gif(不是服務器控件),點擊時彈出一個日曆以便用戶可以選擇一個日期。我希望禁用div標記的全部內容 - 包括gif。 – stackuser

0

btnSubmitOrdersTab_Click事件中,你可以保存due date的價值在Session,然後在Page_Load你可以從Session的價值與它設置due date領域。

0

不要將Enabled屬性設置爲False。相反,使用ReadOnly屬性並將其設置爲true。

相關問題