【发布时间】:2015-02-09 14:49:12
【问题描述】:
我希望在单击按钮时得到总和,但没有任何反应。然而,这是我想要使用的代码的简化版本。文本框的值实际上是使用 php 从数据库中查询的。请按 F1。这是完整的代码。
<html>
<head>
</head>
<body>
<h1> JavaScript </h1>
<script type="text/javascript">
// Addint an array of values from a text box
function calc(){
var mutli_Credit = document.course_reg.elements['Credit[]'];
var sum = 0, i = 0, len = mutli_Credit.length;
for(i < len; ++i){
sum += parseInt(document.getElementById('Credit[i]).value, 10);
// Use parseFloat if you're dealing with floating point numbers.
}
//alert(sum);
document.getElementById('credit_load').value = sum;
};
</script>
<form name='course_reg' onLoad=''>
MATH101 <input type='text' name='Credit[]' value='3' id='Credit[]' size='3' readonly /><br/>
CSC201 <input type='text' name='Credit[]' value='2' id='Credit[]' size='3' readonly /><br/>
EDU301 <input type='text' name='Credit[]' value='2' id='Credit[]' size='3' readonly /><br/>
<BUTTON onClick='calc()'> CALCULATE </BUTTON>
Total Credit Load:<input type='text' value='' id='credit_load' name='credit_load' size='3' readonly/></p>
</form>
</body>
</html>
【问题讨论】:
-
不同元素不能有相同的id,是无效的html。这不是你的问题的原因,但这是不好的做法。
-
同一个ID,相信你的意思
-
@DoctorMick 这根本不是真的;重复使用“名称”值是完全可以的。它实际上取决于服务器端框架。现在,重新使用“id”值,这很糟糕。
-
你的代码充满了错误。您的 for 子句不完整,您正在打开字符串而不是关闭并且缺少连接
-
一定是半睡半醒,我是说id。
标签: javascript arrays dynamic textbox add