[英]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.