Javascript onclick getvalue 是未定义的
Javascript onclick getvalue is undefined
我的问题有两个方面。
我正在尝试发送一个简单的获取值,该值是通过如下所示的循环生成的:
for(var x=0; x<del.length; x++) {
del[x].onclick = function () {
WORK(x);
}
}
这是我沮丧的工作功能
function WORK (x) {
var y = ids[x];
var url = "Delete.php?val=" + y;
window.location = url;
}
我知道我只需要将值传递给函数...但是如果我这样设置它,页面会在加载时执行函数并且不等待我的点击,就像现在一样,它将始终传递一个未定义的值......这是怎么回事?
for
循环中的变量提升 + 非作用域变量。使用.forEach
:
Array.prototype.slice.call(del).forEach(function(elem, index) {
elem.onclick = ...
});
或者,如果不能,请使用立即调用的匿名函数:
for (var x = 0; x < del.length; x++) {
(function() {
var elem = del[x];
...
})();
}
循环访问时,只有一个x
变量。它的作用域不限于for
循环,并且每次迭代都会发生变化(x++
)。触发单击时,将调用事件处理程序,而事件处理程序又调用WORK
,并将值 x
作为参数,该参数在运行时已del.length
。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- Javascript onclick getvalue 是未定义的