对不起,如果这看起来非常基本:(我有一个项目,我正在努力,它一点一点地来。我是相当新的JavaScript,所以请原谅我的noobness。我在这里搜索和谷歌,还没有找到很多关于我的问题,我一定不能正确写出我的搜索。无论如何。我的项目生成一个包含1000个缩略图的表格,每个缩略图图像都有一个带有唯一值和名称的复选框。这1000个缩略图存在于一个由iframe调用的html页面。我的项目可以生成超过100,000个缩略图,我使用iframe循环。无论如何!我希望用户能够在iframe之间保存他们的复选框选项。我只是开始编码这部分我想我可以将复选框选择传递给数组中的父文档,这似乎有效!我有一个函数,当用户检查一个获取值,名称和iframe页面的复选框时,它会调用该函数然后连接该信息把它推到了电子数组。这是功能。
parent.genL = new Array();
function repGenChk() {
var chkN = this.name;
var chkV = this.value;
var chkP = parent.document.getElementById("selOpt").selectedIndex;
var chkArr = chkN+":"+chkV+":"+chkP;
parent.genL.push(chkArr);
alert(parent.genL[parent.genL]);
}
我遇到的问题是当它发出警报时,所有数组项都是这样的,“:undefined:X”X是页码。对于推送到阵列的每个项目,它应该看起来像这样,“3041:3041:3,1002:1002:1,10294:10294:10 ......”等等。它唯一得到的是iframe页面id(在chkP变量中调用的selOpt变量)。我假设我正在处理“这个”错误,但我不确定我是如何处理错误的?示例复选框看起来像......
<input type="checkbox" onclick="repGenChk();" value="9059" name="9059">
所以我希望它如何工作,用户通过单击复选框选择感兴趣的缩略图,复选框功能执行将“x:x:x”项目推送到数组,稍后在iframe页面之间进行多次检查之后其他东西完成了这些信息。
非常欢迎任何和所有信息,提示,想法和建设性批评!非常感谢StackOverflow社区的帮助!
:)
答案 0 :(得分:1)
我认为你需要将'this'传递给repGenChk()。实际上,您没有向repGenChk()传递任何内容,因此在repGenChk函数中未定义this.name和this.value。
输入标签:
<input type="checkbox" onclick="repGenChk(this);" value="9059" name="9059">
对于repGenChk函数:
parent.genL = new Array();
function repGenChk(obj) {
var chkN = obj.name;
var chkV = obj.value;
var chkP = parent.document.getElementById("selOpt").selectedIndex;
var chkArr = chkN+":"+chkV+":"+chkP;
parent.genL.push(chkArr);
alert(parent.genL[parent.genL]);
}