簡體   English   中英

在Asp.net中使用Java禁用控件

[英]Enabling Disabling controls with Javascript in Asp.net

我在asp.net中有一個fileupload控件,一個Calendar控件和一個Textbox控件,應在選中復選框后啟用或禁用它們。 我已經包含了一個執行相同功能的javascript函數,對於asp:Textbox我能夠成功執行啟用禁用,但是未應用RadDatePicker和AsyncFileUpload啟用禁用。

以下是控件

<telerik:RadDatePicker ID="cmgStartDate">
<ajaxToolkit:AsyncFileUpload ID="AsyncFileUploadComingSoon">
<asp:TextBox ID="txtcmgStartTime">

<asp:CheckBox ID="chkIsFutureMovie" OnChange="javascript:enablecmgSoonControls()"/>

以下是選中/取消選中復選框時調用的javascript函數。

    <script type="text/javascript" language="javascript">
        function enablecmgSoonControls() {
            var imageUpload = "<%= AsyncFileUploadComingSoon.ClientID %>";
            var cmgsoonStartDate = "<%= cmgStartDate.ClientID %>";
            var cmgText = "<%= txtcmgStartTime.ClientID %>";

            if (document.getElementById("<%= chkIsFutureMovie.ClientID %>").checked == true) {
                document.getElementById(imageUpload).disabled = false;
                document.getElementById(cmgsoonStartDate).disabled = false;
                document.getElementById(cmgText).disabled = false;
            }
            else {
                document.getElementById(imageUpload).disabled = true;
                document.getElementById(cmgsoonStartDate).disabled = true;
                document.getElementById(cmgText).disabled = true;
            }
        }
</script>

我嘗試用$ find標識控件,但沒有用。 我在這里想念什么..

而不是寫作

document.getElementById(<%= txtcmgStartTime.ClientID %>")

嘗試使用:

document.getElementById("cmgstartDate")
document.getElementById("AsyncFileUploadComingSoon")

我認為這會起作用,因為最終您編寫的代碼將顯示為html。 當您運行您的網站時,還要做一件事:檢查控件的元素,並確認您創建的ID和我們在html中獲得的ID是否相同。

通過直接指定其elementId,我能夠成功啟用/禁用Ajax控件。 但是,主要問題是Telerik控制。 我已經如下修改了腳本,以啟用/禁用<telerik:RadDatePicker ID="cmgStartDate"> 希望它可以幫助某人。

<script type="text/javascript" language="javascript">
        function enablecmgSoonControls() {

            var picker = $find("<%=cmgStartDate.ClientID %>")
            var cmgText = "<%= txtcmgStartTime.ClientID %>";

            if (document.getElementById("<%= chkIsFutureMovie.ClientID %>").checked == true) {
                document.getElementById(cmgText).disabled = false;
                picker.set_enabled(true);
                picker.get_popupButton().disabled = false;
                picker.get_popupButton().className = "rcCalPopup";
            }
            else {
                document.getElementById(cmgText).disabled = true;
                picker.set_enabled(false);
                picker.get_popupButton().disabled = true;
                picker.get_popupButton().className = "rcCalPopup rcDisabled";
            }
        }
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM