js获取文本框值后怎么取得总和
用js实现一个添加试题功能,可以添加很多试题,每次添加后每题有一个分数值,取得后最后计算出添加的总分,已经能够获取每个文本框的值,但是怎么循环相加那?js代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
var $ = document.getElementById;
var n = 0;
//以下方法为创建新的Table
function addMyTable(){
var target = $("target");
n = n+1;
var tr = target.insertRow();
tr.height="25";
tr.style.backgroundColor="#E6F7DF";
var td6 = tr.insertCell();
td6.className = "notprint";
td6.align="center";
//问题描述
tr.insertCell().innerHTML="<td width='165'>"+
"<textarea style='border:0px;' name='title' id='cyuserid"+n+"'/>";
//选项a
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none;width:100px;' id='type"+n+"' name='type' size='6' />"+
"</td>";
//选项b
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none;width:100px;' id='danw"+n+"' name='danw' size='5' />"+
"</td>";
//选项c
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none;width:100px;' id='shul"+n+"' name='shul'/>"+
"</td>";
//选项d
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none; width:100px;' name='ryid' id='ryid"+n+"' />"+
"</td>";
//标准答案
tr.insertCell().innerHTML="<td width='90'>"+
"<input type='text' style='border:none;width:90px;' id='gphr"+n+"' name='gphr' />"+
"</td>";
//分值
tr.insertCell().innerHTML="<td width='30'>"+
"<input type='text' style='border:none;width:30px;' id='score"+n+"' name='lxdh' />"+
"</td>";
//操作
tr.insertCell().innerHTML="<td align='center'>"+
"<input type='button' id='count"+n+"' name='count' value='查看添加的总分' onclick='jszf();'/></td>";
}
function jszf(){
var c=document.getElementById("score"+n).value;
var strp=/^\d+$/;
if(!strp.test(c)){
alert("不是数字");
}
}
} function select_blur(){
var a = $("shul"+n).value;
if(!Number(a)){
alert("error");
a.select();
}
}
function deletePDRow(){
var target = $("target");
var targets = document.getElementsByName("checkno");
for(var j=targets.length-1;j>=0;j--){
if(targets[j].checked==true){
target.deleteRow(j+1);
$("count").value = parseInt($("count").value)-1;
}
}
}
function checkForm(){
var b1 = $("b1").value;
if(b1 == "" && b1 == null){
alert("采购员姓名需要填写");
return false;
}else{
$("form1").submit();
}
}
function quanxuan(){
var checks = document.getElementsByName("checkno");
var che = false;
for(var i=0;i<checks.length;i++){
var check = checks[i];
if(check.checked==true){
che = true;
break;
}
}
if(che==true){
for(var i=0;i<checks.length;i++){
var check = checks[i];
check.checked = false;
}
$("checkk").checked = false;
}else{
for(var i=0;i<checks.length;i++){
var check = checks[i];
check.checked = true;
}
$("checkk").checked = true;
}
}
//以下方法为创建新的Table
function addMyTablePd(){
var pd = $("pd");
n = n+1;
var tr = pd.insertRow();
tr.height="25";
tr.style.backgroundColor="#E6F7DF";
var td6 = tr.insertCell();
td6.className = "notprint";
td6.align="center";
//问题描述
tr.insertCell().innerHTML="<td width='165'>"+
"<textarea style='border:0px;' name='title' id='cyuserid"+n+"'/>";
//选项a
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none;width:100px;' id='type"+n+"' name='type' size='6' />"+
"</td>";
//选项b
tr.insertCell().innerHTML="<td width='100'>"+
"<input type='text' style='border:none;width:100px;' id='danw"+n+"' name='danw' size='5' />"+
"</td>";
//标准答案
tr.insertCell().innerHTML="<td width='90'>"+
"<input type='text' style='border:none;width:90px;' id='gphr"+n+"' name='gphr' />"+
"</td>";
//分值
tr.insertCell().innerHTML="<td width='30'>"+
"<input type='text' style='border:none;width:30px;' id='lxdh"+n+"' name='lxdh' />"+
"</td>";
//操作
tr.insertCell().innerHTML="<td align='center' width='230'>"+
"<input type='text' style='border:none;width:230px;' id='ghdz"+n+"' name='ghdz' /></td>";
$("count").value = parseInt($("count").value)+1;
}
</script>
</head>
<body>
<div align="center">试卷标题:<input type="text" /> 作为考试试卷<input type="checkbox" value="" /></div>
<table width="100%" cellpadding="1" cellspacing="1" id="target">
<tr><td></td>
<td>
问题描述
</td>
<td>
选项A答案
</td>
<td>
选项B答案
</td>
<td>
选项C答案
</td>
<td>
选项D答案
</td>
<td>
标准答案
</td>
<td>
分值
</td>
<td>
操作
</td>
<input type="button" onclick="addMyTable();" value="添加" />选择题
</tr>
</table>
<table cellspacing="1" cellpadding="1" id="pd">
<tr> <td></td>
<td>
问题描述
</td>
<td>
对
</td>
<td>
不对
</td>
<td>
标准答案
</td>
<td>
分值
</td>
<td>
操作
</td></tr>
</td>
<input type="button" onclick="addMyTablePd();" value="添加" />判断题
</table>
<div align="center"><input type="submit" value="提交" /></div>
</body>
</html>
方法jszf()该怎么去写才能实现那?
[解决办法]
在function外面声明一个变量用来保存总分数,每次添加之后将总分数加上新添加的分数
[解决办法]
你这个似乎执行不起来
如果你要加起来,用一个循环将从score0到scoren的所有数字转化为数值型加起来即可阿
[解决办法]
var total=0;
$('input[id^="lxdh"]').each(function (index, domEle) {
total+=parseDouble($(domEle).val());
});