JavaScript函数中未定义的对象

Object undefined in JavaScript function

本文关键字:对象 未定义 函数 JavaScript      更新时间:2023-09-26

我有一个函数,它应该根据下拉列表中选择的选项显示文本框。我已经用javascript写了这个,我也在使用用户控件。这是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" />&nbsp;
                                </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()函数的情况下,我的第一个猜测是

  • 由于Objtr_lbl_Healthy_Family_Member_Number不是有效的HTML标记名,因此没有在DOM中创建该元素
  • 所以createObj()不能做任何事情(也不会返回任何东西)
  • 因此CCD_ 4是未定义的