簡體   English   中英

如何在Ext.net中使用JavaScript在UserControl中獲取控件的元素ID

[英]How to get the Element Id of Control in UserControl using JavaScript in Ext.net

海,

我正在使用JavaScript函數基於DateField值編寫Age計算,並嘗試在另一個Numeric textBox中填充該值。 使用以下代碼。

<script>

        function getAge(event, toolEl, panel, tc) {
            debugger;
            var today = new Date();
            var birthDate = new Date(event.getValue());
            var age = today.getFullYear() - birthDate.getFullYear();
            var m = today.getMonth() - birthDate.getMonth();
            if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
                age--;
            }
            if (event.name == 'dtMotherDOB') {
                Ext.getCmp('txtMotherAge').setValue(age);
            }
            else
                Ext.getCmp('txtFatherAge').setValue(age);
            return age;
        }


    </script>


 <ext:DateField ID="dtFatherDOB" runat="server"  FieldLabel="Father DOB"  
                                        Vtype="daterange" EndDateField="dtDOB" EnableKeyEvents="true">
         <Listeners>
                 <Select Fn="getAge"/>
        </Listeners>
  </ext:DateField>

  <ext:NumberField ID="txtFatherAge" runat="server" FieldLabel="Father Age"                       Width="300"  MinValue="20">

    </ext:NumberField>

在選擇后上面的代碼DataField值的我正在填充txtMotherAge中值textBox

使用上面的代碼。 Ext.getCmp('txtFatherAge').setValue(age); 用於從表單中獲取元素並在textbox設置age的值。

上面的代碼適用於簡單的表單。

但是當我在UserControl中使用此代碼並在另一個窗體中使用usercontrol時。 Ext.getCmp('txtFatherAge').setValue(age)顯示錯誤, Ext.getCmp('txtFatherAge')值變為'undefined'

上面的代碼有什么問題。 如何在ext.net控件中獲取usercontrol中的元素。

請幫助我這方面。

謝謝。

嘗試這個:

Ext.getCmp('<%=UserControl1.ClientID%>' + '_' + 'txtFatherAge').setValue(age)

要么,

設置ClientIDMode="Static"

<ext:NumberField ID="txtFatherAge" ClientIDMode="Static" runat="server"    
 FieldLabel="Father Age" Width="300"  MinValue="20"></ext:NumberField>

暫無
暫無

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

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