海,
我正在使用 JavaScript 函数编写基于 DateField 值的年龄计算,并尝试将值填充到另一个数字文本框中。使用以下代码。
<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
。
上面的代码适用于简单的形式。
但是当我在 UserControl 中使用此代码并以另一种形式使用 usercontrol 时。 Ext.getCmp('txtFatherAge').setValue(age)
显示错误和Ext.getCmp('txtFatherAge')
值变为'undefined'
.
上面的代码有什么问题。如何在 ext.net 控件中获取 usercontrol 中的元素。
请在这方面帮助我。
谢谢你。