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