[英]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.