gpt4 book ai didi

Javascript Uncaught Reference错误函数未定义

转载 作者:技术小花猫 更新时间:2023-10-29 11:49:41 30 4
gpt4 key购买 nike

检查 Fiddle 以查看发生的故障。

当我将数据(即使我将其留空)添加到文本框并尝试单击“添加”时,它没有执行任何操作。

打开 Chrome 和 Firefox 控制台都给我同样的错误,它说“changeText2()”未定义。

我该如何解决这个问题?我已经多次遇到这个错误,而且大多数情况下它都有非常奇怪的解决方法,但我不确定避免它的方法或者我什至做错了什么。

似乎删除全局变量声明在大多数情况下都能解决问题,但是,在这种情况下我需要它们,并且更想知道为什么以及如何发生此错误。

非常感谢任何帮助。

Javascript:

var list = document.getElementById('deliveryIdArray');
var names = [];

function changeText2() {
var deliveryIdentification = document.getElementById('deliveryIdentification').value;
names.push(deliveryIdentification);//simply add new name to array;
//array changed re-render list
renderList();
}

function renderList(){
while (list.firstChild) {
list.removeChild(list.firstChild);
}
//create each li again
for(var i=0;i<names.length;i++){
var entry = document.createElement('li');
entry.appendChild(document.createTextNode(names[i]));
var removeButton = document.createElement('button');
removeButton.appendChild(document.createTextNode("remove"));
removeButton.setAttribute('onClick','removeName('+i+')');
entry.appendChild(removeButton);
list.appendChild(entry);
}
}


function removeName(nameindex){
names.splice(nameindex,1);
//array changed re-render list
renderList();
}

function getDeliveries(){
return names;
}

HTML:

<b>Number(s): </b>
<input id = "deliveryIdentification" name = "deliveryIdentification" type = "text" size = "16" maxlength = "30">

<!-- Array Area Creation -->
<input type='button' onclick='changeText2()' value='Add' />

<ol id="deliveryIdArray">
</ol>

fiddle : http://jsfiddle.net/vSHQD/

最佳答案

在 JSFiddle 中,当您将包装设置为“onLoad”或“onDomready”时,您定义的函数仅在该 block 内定义,外部事件处理程序无法访问。

最简单的解决方法是更改​​:

function something(...)

收件人:

window.something = function(...)

关于Javascript Uncaught Reference错误函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676604/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com