问题描述
|
我有一个功能,该功能应基于下拉列表中选择的选项显示文本框。我已经用javascript写过,也正在使用usercontrols。这是javascript函数的特殊代码。
function showhideeffectivedate(objIncType)
{
var inctype=objIncType.value;
if(inctype==\'AMC\'||inctype==\'AMCW\'||inctype==\'CMC\'||inctype==\'CMCHF\'||inctype==\'CHF\')
{
var Objtr_lbl_Healthy_Family_Member_Number = createObj(\"tr_lbl_Healthy_Family_Member_Number\");
if(IsValidobj(Objtr_lbl_Healthy_Family_Member_Number))
{
if(inctype==\'CHF\')
{
HideAreaCrossbrowser(\'tr_lbl_Healthy_Family_Member_Number\',false)
}
else
HideAreaCrossbrowser(\'tr_lbl_Healthy_Family_Member_Number\',true)
healthyfamilyMemberCheck()
}
}
else
{
var Objtr_lbl_Healthy_Family_Member_Number = createObj(\'tr_lbl_Healthy_Family_Member_Number\');
if(IsValidobj(Objtr_lbl_Healthy_Family_Member_Number))
{
HideAreaCrossbrowser(\'tr_lbl_Healthy_Family_Member_Number\',true)
}
}
}
.ascx文件代码,其中包含控件/文本框:
<tr class=\"Content\" id=\"tr_lbl_Healthy_Family_Member_Number\">
<td valign=\"top\" colspan=\"2\">
<table cellspacing=\"0\" border=\"0\">
<tr>
<td class=\"Content\" align=\"right\" id=\"td_lbl_Healthy_Family_Member_Number\" width=\"130px\">
<asp:Label ID=\"lbl_Healthy_Family_Member_Number\" CssClass=\"Content\" runat=\"server\" Text=\"Healthy Family Member Number\" />
</td>
<td class=\"Content\" align=\"left\" id=\"td_txt_Healthy_Family_Member_Number\" width=\"185px\">
<%--<asp:HiddenField runat=\"server\" Value=\"td_txt_Healthy_Family_Member_Number\" ID=\"hdn_help_11999\" />--%>
<asp:TextBox ID=\"txt_Healthy_Family_Member_Number\" CssClass=\"inputBox\" onblur=\"\" runat=\"server\"
Enabled=\"True\" />
</td>
</tr>
</table>
</td>
</tr>
我试图调试此代码。此代码不检查\'CHF \'的条件。它跳过了整个循环,并说变量\'Objtr_lbl_Healthy_Family_Member_Number \'没有对象/未定义?
谢谢你的帮助。
解决方法
IsValidObj试图访问未定义的变量Objtr_lbl_Healthy_Family_Member_Number。
createObj不返回对象。
,我的第一个猜测是,没有看到
createObj()
函数,是
由于“ 3”不是有效的HTML标记名称,因此未在DOM中创建该元素
所以createObj()
什么也做不了(也不会返回任何东西)
因此var Objtr_lbl_Healthy_Family_Member_Number
是不确定的。