Every ID is undefined

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jimatqsi
    Moderator Top Contributor
    • Oct 2006
    • 1293

    Every ID is undefined

    Question from a javascript newbie ...
    I'm having trouble getting this simple thing to work
    Code:
    ClickNumberID= document.getElementById('<%= TrackClicks.ClientID %>');
    I am using document.getEle mentById in another instance on the same page without problem. But in this case it always comes back with null for the id.

    So I found this function to list every tagName on the document. I modified it to list every ID on the document and I call this function where I'm trying to get the element ID. And it shows every ID is undefined. You can see a few lines of that response at the end of this post.

    Code:
    function findhead1()
    {
        var tag, tags;
        tags = "The ClientIDs in the page are:"
        for(i = 0; i < document.all.length; i++)
        {
      //      tag = document.all(i).tagName;
            tag= document.all(i).id+document.all(i).ClientID
    		tags = tags + "\n" + tag;
        }
        document.write(tags);
    }
    What's causing this?

    Thanks,
    Jim

    Here's some of the document.write output
    l00_The ClientIDs in the page are: undefined undefined ctl00_Head1unde fined undefined undefined undefined undefined undefined undefined undefined ctl00_Body1unde fined aspnetFormundef ined undefined __EVENTTARGETun defined __EVENTARGUMENT undefined ctl00_PageConte nt_ProjectsTabC ontainer_Client Stateundefined __LASTFOCUSunde fined __VIEWSTATEunde fined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctpageLeftCoord inateundefined ctl00_pageTopCo ordinateundefin ed ctl00_PageSetti ngsundefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctl00__PageHead er__Logoundefin ed undefined ctl00__PageHead er__LoginoutBut tonundefined ctl00__PageHead er_UserNameLabe lundefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctl00__MenuV_Mu ltiLevelMenuund efined undefined undefined ctl00__MenuV_Mu ltiLevelMenun0u ndefined undefined undefined undefined undefined undefined undefined ctl00__MenuV_Mu ltiLevelMenun0I temsundefined undefined undefined ctl00__MenuV_Mu ltiLevelMenun1u ndefined undefined undefined undefined undefined undefined undefined undefined ctl00__MenuV_Mu ltiLevelMenun0I temsUpundefined undefined ctl00__MenuV_Mu ltiLevelMenun0I temsDnundefined undefined ctl00__MenuV_Mu ltiLevelMenu_Sk ipLinkundefined undefined undefined undefined undefined undefined undefined undefined StartOfPageCont entundefined ctl00_PageConte nt_UpdatePanel1 _UpdateProgress 1undefined undefined undefined undefined ctl00_PageConte nt_UpdatePanel1 undefined ctl00_PageConte nt__clientSideI sPostBackundefi ned undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsReco rdControlPanelE xtender_ClientS tateundefined ctl00_PageConte nt_ProjectsReco rdControlIconun defined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsReco rdControlCollap sibleRegionunde fined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsReco rdControlPanelu ndefined undefined undefined undefined undefined ctl00_PageConte nt_NewProjectun defined undefined undefined ctl00_PageConte nt_ProjectNameu ndefined ctl00_PageConte nt_ProjectNameT extBoxMaxLength Validatorundefi ned undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_HiddenProjec tIDTextBoxMaxLe ngthValidatorun defined undefined undefined ctl00_PageConte nt_PublicUseund efined undefined undefined ctl00_PageConte nt_WordWrapunde fined undefined undefined ctl00_PageConte nt_Activeundefi ned undefined undefined ctl00_PageConte nt_Expiredundef ined undefined undefined undefined undefined undefined ctl00_PageConte nt_ExpirationDa teundefined undefined undefined ctl00_PageConte nt_ExpirationDa teTextBoxMaxLen gthValidatorund efined undefined undefined ctl00_PageConte nt_Deletedundef ined undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectIDReq uiredFieldValid atorundefined ctl00_PageConte nt_ProjectIDTex tBoxMaxLengthVa lidatorundefine d undefined undefined ctl00_PageConte nt_BeginTextPos undefined undefined undefined ctl00_PageConte nt_MessyTextFil eundefined ctl00_PageConte nt_MessyTextFil eTextBoxMaxLeng thValidatorunde fined ctl00_PageConte nt_UIMessages_t xtundefined undefined undefined ctl00_PageConte nt_ProjectNotes undefined ctl00_PageConte nt_ProjectNotes TextBoxMaxLengt hValidatorundef ined undefined undefined ctl00_PageConte nt_ClickableTex tBoxundefined ctl00_PageConte nt_TextBoxWater mark_ClientStat eundefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_MessyTextund efined ctl00_PageConte nt_MessyTextTex tBoxMaxLengthVa lidatorundefine d undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainerundefin ed ctl00_PageConte nt_ProjectsTabC ontainer_header undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ tabundefined undefined undefined __tab_ctl00_Pag eContent_Projec tsTabContainer_ ColumnlayoutTab Panelundefined ctl00_PageConte nt_ProjectsTabC ontainer_Valida tionTabPanel_ta bundefined undefined undefined __tab_ctl00_Pag eContent_Projec tsTabContainer_ ValidationTabPa nelundefined ctl00_PageConte nt_ProjectsTabC ontainer_Clicks TabPanel_tabund efined undefined undefined __tab_ctl00_Pag eContent_Projec tsTabContainer_ ClicksTabPanelu ndefined ctl00_PageConte nt_ProjectsTabC ontainer_Column dataTabPanel_ta bundefined undefined undefined __tab_ctl00_Pag eContent_Projec tsTabContainer_ ColumndataTabPa nelundefined ctl00_PageConte nt_ProjectsTabC ontainer_bodyun defined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanelu ndefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnlayoutTab leControlCollap sibleRegionunde fined undefined undefined undefined undefined tableContaineru ndefined undefined undefined undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnlayoutTog gleAllundefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnNumberLab elundefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ DelimiterBeginn ingLabelundefin ed ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ DelimiterEnding Labelundefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ DelimiterBInclu dedinPasteLabel undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ DelimiterBInclu dedinCutLabelun defined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ FixedLengthLabe lundefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ MaximumSizeLabe lundefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ TrimBlanksLabel undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ AutoClearLabelu ndefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ValueCrossesCrL fLabelundefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ActiveLabel3und efined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ NotesLabel1unde fined undefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnlayoutTab leControlRepeat er_ctl00_Column layoutRowViewBu ttonundefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnlayoutTab leControlRepeat er_ctl00_Column layoutRecordRow Selectionundefi ned undefined undefined undefined undefined undefined ctl00_PageConte nt_ProjectsTabC ontainer_Column layoutTabPanel_ ColumnlayoutTab leControlRepeat er_ctl00_Column Number1undefine d undefined undefined
  • Dormilich
    Recognized Expert Expert
    • Aug 2008
    • 8694

    #2
    I'm having trouble getting this simple thing to work
    Code:
    ClickNumberID= document.getElementById('<%= TrackClicks.ClientID %>');
    - what does this code look like in the browser?
    - when do you call this piece of code?
    - does this ID exist in your HTML?

    Code:
    tag= document.all(i).id+document.all(i).ClientID
    - there is no attribute ClientID (at least not in HTML)
    - when do you call this function?

    Comment

    • jimatqsi
      Moderator Top Contributor
      • Oct 2006
      • 1293

      #3
      I have a textbox defined as so:
      Code:
      <asp:textbox id="ClickableTextBox" runat="server" cssclass="field_input" onclick="MessyTextClick()" width="800px" textmode="MultiLine" tooltip="Unprocessed Messy Text" columns="6" rows="8"></asp:textbox> 
      <asp:textboxwatermarkextender id="TextBoxWatermark" runat="server" targetcontrolid="ClickableTextBox" watermarktext="Paste your messy text here or enter the source file location above" watermarkcssclass="field_input" />
      When clicked, it runs this script function, "MessyTextClick ()"
      That function needs to get the value from text box with ID="TrackClicks "

      I am getting into the function MessyTextClick but the script apparently cannot find the IDs of the objects on the page.

      I've used very similar code at another place on the page. When the box in that instance is clicked, the box turns red and a help message is displayed in another textbox.The only major difference is TrackClicks and ClickableTextBo x exist in the top, main part of the form and the working textboxes are in a subpanel/subform within the main form.

      Jim

      Comment

      • Dormilich
        Recognized Expert Expert
        • Aug 2008
        • 8694

        #4
        what is the code for that function? (as seen in the browser, of course)

        Comment

        • jimatqsi
          Moderator Top Contributor
          • Oct 2006
          • 1293

          #5
          Here is the current code from MessyTextClick( )
          Code:
          function MessyTextClick()
          {
             var colID = document.getElementById("<%=Col01Label.ClientID%>");
             var clickID = document.getElementById("<%=ActionGuideDescription_label.ClientID%>");
          	clickID.innerHTML=clickID.innerHTML+", Fill "+colID.innerHTML ;
          	alert ("ClickNo=?");
          	
          	// findhead1();
          	
            // ClickNumberID  = document.getElementById("ClickCounter_hidden");
             ClickNumberID= document.getElementById('<%=TrackClicks.ClientID%>');
          	if (ClickNumberID==null) 
          	{
          		ClickNumberID = document.getElementById("TrackClicks").id;
          	}
             if (ClickNumberID==null)
             {
             	ClickNumberID=document.getElementsByTagName("TrackClicks.tagName");
             }
          //	  alert("ClickNumberID.innerHTML "+ClickNumberID.innerHTML)
             	if (ClickNumberID!=null)
          	{
          		iClickNo = parseInt(ClickNumberID.value) ; // Text?   innerHTML
          	}
          	alert ("ClickNo="+iClickNo);
          	if (iClickNo<=0)
          	{
          		iClickNo=01;
          	}
             PageMethods.GetClickAction(iClickNo, ProcessClick);  ////////////////////////////////////////////
          }

          Comment

          • Dormilich
            Recognized Expert Expert
            • Aug 2008
            • 8694

            #6
            if that’s what shows up in your browser, then your ASP is not working.

            Comment

            • jimatqsi
              Moderator Top Contributor
              • Oct 2006
              • 1293

              #7
              I've added some code to try other objects but I always get the same result. Yet those first 3 lines in another function in the same script works okay, but in this script they fail because the IDs cannot be found.

              Jim

              Comment

              • jimatqsi
                Moderator Top Contributor
                • Oct 2006
                • 1293

                #8
                Right, sorry you did say in my browser ... okay, so I am now viewing the page source in my browser. It's over 3300 lines of code. If I search for the name of my javascript function MessyTextClick it is not found. What does that mean?

                Jim

                Comment

                • Dormilich
                  Recognized Expert Expert
                  • Aug 2008
                  • 8694

                  #9
                  maybe it’s in an external file? can I have a link to your page?
                  Last edited by Dormilich; Dec 24 '11, 04:33 PM.

                  Comment

                  • jimatqsi
                    Moderator Top Contributor
                    • Oct 2006
                    • 1293

                    #10
                    It's not yet published. All the javascript is within the page.

                    I was asleep, I didn't navigate to the right page before getting the source code. Here's what is in the browser for the function:

                    Code:
                    function MessyTextClick()
                    {
                       var colID = document.getElementById("ctl00_PageContent_ProjectsTabContainer_ColumndataTabPanel_Col01Label");
                       var clickID = document.getElementById("ctl00_PageContent_ProjectsTabContainer_ColumndataTabPanel_ActionGuideDescription_label");
                    	clickID.innerHTML=clickID.innerHTML+", Fill "+colID.innerHTML ;
                    	alert ("ClickNo=?");
                    	
                    	// findhead1();
                    	
                      // ClickNumberID  = document.getElementById("ClickCounter_hidden");
                       ClickNumberID= document.getElementById('ctl00_PageContent_ProjectsTabContainer_ColumndataTabPanel_TrackClicks');
                    	if (ClickNumberID==null) 
                    	{
                    		ClickNumberID = document.getElementById("TrackClicks").id;
                    	}
                       if (ClickNumberID==null)
                       {
                       	ClickNumberID=document.getElementsByTagName("TrackClicks.tagName");
                       }
                    //	  alert("ClickNumberID.innerHTML "+ClickNumberID.innerHTML)
                       	if (ClickNumberID!=null)
                    	{
                    		iClickNo = parseInt(ClickNumberID.value) ; // Text?   innerHTML
                    	}
                    	alert ("ClickNo="+iClickNo);
                    	if (iClickNo<=0)
                    	{
                    		iClickNo=01;
                    	}
                       PageMethods.GetClickAction(iClickNo, ProcessClick);  ////////////////////////////////////////////
                    }
                    Last edited by Dormilich; Dec 24 '11, 05:35 PM. Reason: please use [CODE] [/CODE] tags when posting code

                    Comment

                    • Dormilich
                      Recognized Expert Expert
                      • Aug 2008
                      • 8694

                      #11
                      you have that long IDs?

                      "TrackClicks.ta gName" seems to be a somewhat strange ID, are you sure it exists?

                      Comment

                      • jimatqsi
                        Moderator Top Contributor
                        • Oct 2006
                        • 1293

                        #12
                        No, that's not an ID, it's another property. The findhead() function I listed in an earlier post was originally written to list all the tagNames of objects on the page. I copied and changed it to show me the IDs. I thought I would try to look up this object by tagName but that instruction looks silly to me now.

                        I've been working on this for 2 days. More and more crud is creeping into it as I try variations of the same thing.

                        Here's my revised version of the findhead function I found on the 'Net.


                        Code:
                        function findhead1()
                        {
                            var tag, tags;
                            tags = "The ClientIDs in the page are:"
                            for(i = 0; i < document.all.length; i++)
                            {
                          //      tag = document.all(i).tagName;
                                tag= document.all(i).id+document.all(i).ClientID
                        		var strN=document.all(i).id+document.all(i).tagName
                        		//x=document.getElementById("myHeader")
                        		if (strN.indexOf("TrackClicks")>0)
                        		{
                        			alert("Found ClientID:"+document.all(i).id+document.all(i).ClientID);
                        		}
                        		tags = tags + "\n" + tag;
                            }
                            document.write(tags);
                        }

                        Comment

                        • Dormilich
                          Recognized Expert Expert
                          • Aug 2008
                          • 8694

                          #13
                          can’t really say anything to it since it is IE-only syntax.

                          Comment

                          • jimatqsi
                            Moderator Top Contributor
                            • Oct 2006
                            • 1293

                            #14
                            Originally posted by Dormilich
                            can’t really say anything to it since it is IE-only syntax.
                            Oh, really? I have to redo it then, I want it to be browser agnostic <sigh> ... I think my original problem had to do with one instruction referencing .ClientID when it should have been .ID. After Christmas I'll start over. Thanks very much for your help.

                            Jim

                            Comment

                            Working...