当我尝试调用我的Javacsript函数Uncaught TypeError: undefined is not a function
时,我收到错误:displayValue()
。
这是我的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');
。
我在listview中有一个listview,我想在嵌套的listview中设置一个标签的值。这就是我想在这里做的事情。
这是我尝试访问的ListView的asp代码:
<asp:ListView ID="LV_Tickets" runat="server" DataSourceID="SQL_Tickets" InsertItemPosition="FirstItem" OnPreRender="LV_Tickets_PreRender" DataKeyNames="TicketNum">
在嵌套的ListView的insertitem模板中调用getHoursOrCubes()
函数:
<asp:TextBox ID="HoursOrCubesTextBox" runat="server" style="height: 20px; width: 165px;" Text='<%# Bind("HoursOrCubes") %>' onchange="getHoursOrCubes(this.value)" />
答案 0 :(得分:0)
你试图调用一个不存在的函数。
函数getElementsByName
返回IHTMLElementCollection。使用该对象的tags方法获取所需内容。没有getElementsByTagName
的方法可以在IHTMLElementCollection
上运行。
而不是
var elementArray = listViewRef.getElementsByTagName('Label');
试
var elementArray = listViewRef.tags('Label');
那应该适合你。