我正在尝试将用户定义的键映射到关联的值,并且它当前正在为final(var final)返回undefined。目标是收集用户提供的输入(键)并将其映射到key:value对象的关联字符串,然后使用此值加载URL。网页最终加载不正确,因为该值未定义。这是代码:
document.getElementById("btn").onclick = function onLoad() {
var converts = {
'apples' : 'green',
'sky' : 'blue'
};
var myTextField = document.getElementById("myTextarea");
var itemName = myTextField.value;
var final = converts[itemName];
if (document.getElementById('rad1').checked) {
window.open("somewebsite" + final + "restofURL", "this is a new window");
}
}
答案 0 :(得分:1)
问题是textarea默认有很多空格。如果用户添加空格,可能会导致问题,因此我们需要修剪字符串:
convert[ itemName.trim() ];
这将删除所有边界空格。