for(i=0;i<=count;i++){
str += (Wallet[i].name +" ("+Wallet[i].value+"): "+Wallet[i].count+<br />);
}
document.getElementById("output").write(str);代码如上,我放debuger里面跑了下发现循环跑完后就直接跳出程序,最后一行也不运行了。
为什么啊?有什么地方出错了吗?
谢谢!
str += (Wallet[i].name +" ("+Wallet[i].value+"): "+Wallet[i].count+<br />);
}
document.getElementById("output").write(str);代码如上,我放debuger里面跑了下发现循环跑完后就直接跳出程序,最后一行也不运行了。
为什么啊?有什么地方出错了吗?
谢谢!
<html>
<head><title>Wallet</title><script type="text/javascript">
Wallet = new Array();
count = 0;
function addCoin(f){
var i=0;
var str="";
Wallet[count] = {name:f.elements["name"].value, value:f.elements["value"].value, count:1};
count++;
for(i=0;i<=count;i++){
str += (Wallet[i].name +" ("+Wallet[i].value+"): "+Wallet[i].count+<br />);
}
document.getElementById("output").innerHTML=str;
window.alert(str);
}
</script></head>
<body>
<p>Input a coin into wallet!</p>
<p id="output"></p>
<form name="input" method="get" action="" onsubmit="return false">
Coin name: <input type="text" name="name" /><br />
Coin value: <input type="text" name="value" /><br />
<input type="button" value="Submit" onclick="addCoin(this.form);"/>
</form></body>
</html>好像不是这个问题。程序直接跳过去了,根本没跑那一行代码
你的浏览器没语法提示?
即使上个问题修复了,在我的chrome上还是不能取得f.elements["name"]对象,不知道你在哪看的这种方法,反正我没见过。一步步的运行HTML文件,至少firefox,chrome的Javascript控制台都会有出错提示,你说的debuger也不会不报错的,靠肉眼找问题实在太折磨人了
str += (Wallet[i].name +" ("+Wallet[i].value+"): "+Wallet[i].count+'<br />');
}
document.getElementById("output").innerHTML(str);
alert(document.getElementById("output"))验证;如果没有获取到,可能是代码执行时html对象还没有加载,你把代码放到body的onload事件里面试试;
2.按照7楼的回答,用innerHTML来输出字符串