创建按钮后,无论如何我可以添加链接或使用window.location方法:`window.location ='nextpage.html?foo = number'。我目前有这个
var typeValue = location.search;
var typeStringValue= typeValue.replace("?type=","");
var containers = typeValue.replace("?type=multi","");
var containersValue = parseInt(containers);
var sampleLetter = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
function createButton(buttonName){
var buttonDivBlock = document.getElementById("sampleSets");
var buttonElement = document.createElement("input");
buttonElement.setAttribute("type","button");
buttonElement.setAttribute("name",buttonName);
buttonElement.setAttribute("value","Sample Set"+" "+buttonName);
buttonElement.setAttribute("id",buttonName);
buttonDivBlock.appendChild(buttonElement);
// document.getElementById(sampleLetter[i]).setAttribute('onclick',window.location='SampleInfo.html'+typeStringValue+bottonName);<!--add the button link -->
}
function setButtons(numberOfContainers){
for(i=0;i<numberOfContainers;i++){
createButton(sampleLetter[i]);
}
}
window.onload = function(){
setButtons(containersValue);
}
但是document.getElementById("'"+sampleLetter[i]+"'").setAttribute('onclick',window.location='SampleInfo.html'+typeStringValue+bottonName);<!--add the button link -->
返回一个空值。
答案 0 :(得分:1)
好吧,也许我可以帮助你一个例子:
function getFive() { return 5;}
callOtherFunction("stringArgument", getFive());
callOtherFunction的第二个参数将是5,而不是getFive函数。在许多情况下,比如添加事件侦听器和AJAX代码,您实际上希望将函数本身作为参数传递,因此可以稍后调用它。但是,如果你不想单独声明这个功能,它看起来像这样:
callOtherFunction("stringArgument", function() { return 5; });
为了使代码看起来更干净,您可以在{并创建多行功能之后按Enter键。
现在,考虑到这一点,再看一下你评论过的那一行。你看到缺少什么吗? (PS。对于“egging-on”格式道歉 - 我发现如果我帮助他们找到解决方案,而不是仅仅向他们展示,人们会更好地解决问题)
答案 1 :(得分:0)
sampleLetter
变量未定义您尝试使用它的位置(通过注释代码判断)。使用之前几行设置为id
属性的值。
document.getElementById(buttonName).setAttribute( /* ... */ );
或者,如果您尝试在循环中而不是createButton
函数中设置它,请不要添加单引号
document.getElementById(sampleLetter[i]).setAttribute( /* ... */ );