这是我的javascript代码:
var strp = [0,19,26,33,40,46,49,57,61,65,67,73,76];
var i = document.getElementById("length").value;
function calculator(){
document.write("the total cost is " + strp[document.getElementById("length").value]);
document.write("total is ");
document.write(strp[i]);
}
我想在这里写一个计算函数。和HTML部分是这样的:
<form>
select size : <select id="length">
<option value="0">Please Choose One...</option>
<option value="1">10 inches</option>
<option value="2">12 inches</option>
</select>
<input type="button" value="Calculate" onclick="calculator()" />
</form>
当我在浏览器中执行此代码时,我通过'getelementbyid value'访问数组,我得到了正确的答案。但是当我将getelmentbyid值存储在一个变量中,并使用该变量来访问该数组时,输出是未定义的,为什么会这样?
答案 0 :(得分:1)
我的猜测是i
未定义,因为javascript在html之前呈现。因此,当创建i
时,没有具有id长度的元素。尝试将javascript放在html下面来解决这个问题。
答案 1 :(得分:1)
document.write()
消除了页面的所有先前内容。请使用一些适当的DOM操作方法,例如innerHTML或appendChild()。