簡體   English   中英

未捕獲的TypeError:undefined不是函數調用JavaScript函數

[英]Uncaught TypeError: undefined is not a function Calling JavaScript Function

我收到錯誤: Uncaught TypeError: undefined is not a function當我嘗試調用Javacsript函數displayValue()時, Uncaught TypeError: undefined is not a function

調用函數時觸發錯誤消息。

這是我的Javascript代碼:

    var HoC = 0;
    var Rate = 0;

    function getHoursOrCubes(input, control)
    {
        HoC = input;
        var answer = HoC * Rate;
        displayValue(answer);
    }

    function getRate(input, control)
    {
        Rate = input;
        var answer = HoC * Rate;
        displayValue(answer);
    }

    function displayValue(finalValue) {
        var listViewRef = document.getElementById('LV_Tickets');
        var elementArray = listViewRef.getElementsByTagName('Label');
        alert('this worked.');

        for (var i = 0; i < elementArray.length; i++) {
            var elementRef = elementArray[i];

            elementRef.value = finalValue;
            alert(elementRef.value);
        }
    }

我相信var elementArray = listViewRef.getElementsByTagName('Label');錯誤的行是var elementArray = listViewRef.getElementsByTagName('Label');

我在一個列表視圖中有一個列表視圖,我想在嵌套的列表視圖中設置標簽的值。 這就是我在這里要做的。

這是我要訪問的ListView的ASP代碼:

<asp:ListView ID="LV_Tickets" runat="server" DataSourceID="SQL_Tickets"  InsertItemPosition="FirstItem" OnPreRender="LV_Tickets_PreRender" DataKeyNames="TicketNum">

在嵌套ListView的insertingitem模板中調用getHoursOrCubes()函數:

<asp:TextBox ID="HoursOrCubesTextBox" runat="server" style="height: 20px; width: 165px;" Text='<%# Bind("HoursOrCubes") %>' onchange="getHoursOrCubes(this.value)" />
    var listViewRef = document.getElementById(<%= LV_Tickets.ClientID %>);
    var elementArray = listViewRef.getElementsByTagName('Label');

listViewRef是一個nodeList ,這意味着它是節點的集合。 要調用函數getElementsByTagName您需要一個節點。 我通過[0]選擇了列表中的第一個節點。 這應該返回一個可以調用getElementsByTagName的節點。

您正在嘗試調用一個不存在的函數。

函數getElementsByName返回一個IHTMLElementCollection 使用該對象的標簽方法獲取所需的內容。 沒有在IHTMLElementCollection上運行的getElementsByTagName方法。

代替

var elementArray = listViewRef.getElementsByTagName('Label');

嘗試

var elementArray = listViewRef.tags('Label');

那應該為您工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM