求助高手:用JS验证数字及求和 我需要做一个表单:序号 评价内容 权重 评分1 文化认同 5分 (此处为1-5分,不能为空)2 职业心态 5分 (同上) 总计 (以上分数之和)括号中是需要用户填的,用JS该怎么写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>function cal(){ var a = document.getElementsByName("point"); var n = 0; for(var i=0;i<a.length;i++){ var s = (a[i].value).replace(/(^\s+|\s+$)/,""); var re = /^[1-5]$/; if(re.test(s)) n += parseInt(s); else a[i].value = 0; } document.getElementById("pad").innerHTML = n;}</script><form><table><tr><td>序号</td><td>评价内容</td><td>权重</td><td>评分</td></tr><tr><td>1</td><td>文化认同</td><td>5分</td><td><input type="text" name="point" onblur="cal()"></td></tr><tr><td>2</td><td>职业心态</td><td>5分</td><td><input type="text" name="point" onblur="cal()"></td></tr><tr><td colspan="4" align="right">总计:<span id="pad">0</span></td></tr></table></form> 网上有的是!^[1-5]在文本框的onblue 事件写计算函数即可! 对每一个输入框进行判断,传一个值进去,这个值是分数,因为你的分数不是一样的.getELementById().value得到输入框的值,用正则判断是不是数字,这个前面已经说了然后用parseInt(val)就可以转为数字了,然后计算总分时也要用parseInt <script>function cal(){ var a = document.getElementsByName("point"); var n = 0; for(var i=0;i<a.length;i++){ var s = (a[i].value).replace(/(^\s+|\s+$)/,""); var re = /^\d{1,2}$/; if(re.test(s)){ var m = parseInt(s); if(m>=1 && m<= parseInt(a[i].getAttribute("rel"), 10)) n += m; else a[i].value = ""; } else a[i].value = ""; } document.getElementById("pad").innerHTML = n;}</script><form><table><tr><td>序号</td><td>评价内容</td><td>权重</td><td>评分</td></tr><tr><td>1</td><td>文化认同</td><td>5分</td><td><input type="text" name="point" onblur="cal()" rel="5"></td></tr><tr><td>2</td><td>职业心态</td><td>5分</td><td><input type="text" name="point" onblur="cal()" rel="5"></td></tr><tr><td>3</td><td>专业能力</td><td>15分</td><td><input type="text" name="point" onblur="cal()" rel="15"></td></tr><tr><td>4</td><td>创新能力</td><td>15分</td><td><input type="text" name="point" onblur="cal()" rel="15"></td></tr><tr><td colspan="4" align="right">总计:<span id="pad">0</span></td></tr></table></form> name="point"这样的话是不是无法对每项的评价内容得分进行统计了?在后台得到的只有一个总分是吗? 后台的得到的是 point=1&point=2&point=3&point=4 格式, 可以用split来分开如果是asp的话 可以直接取 item1 = Request("point")(0) item2 = Request("point")(1) jsp中如何实现查询条件与查询结果在同一页面 js改变ID值 怎么设置头文件过期时间为当前时间+1天? JS值传递问题 js实现帖子删除的特效 300分求助(3次付清) 在浏览器里显示系统信息 复选框问题? document.all.text1.value="您好";这种写法是否规范?会不会对IE的版本有限制?可是一般的书中都是写成document.form1.text1.value="您好" 如何相应alt健? 如何知道用户处于那一页 为什么每次使用this.ownerCt就报告为定义、
<script>
function cal(){
var a = document.getElementsByName("point");
var n = 0;
for(var i=0;i<a.length;i++){
var s = (a[i].value).replace(/(^\s+|\s+$)/,"");
var re = /^[1-5]$/;
if(re.test(s)) n += parseInt(s);
else a[i].value = 0;
}
document.getElementById("pad").innerHTML = n;
}
</script>
<form>
<table>
<tr><td>序号</td><td>评价内容</td><td>权重</td><td>评分</td></tr>
<tr><td>1</td><td>文化认同</td><td>5分</td><td><input type="text" name="point" onblur="cal()"></td></tr>
<tr><td>2</td><td>职业心态</td><td>5分</td><td><input type="text" name="point" onblur="cal()"></td></tr>
<tr><td colspan="4" align="right">总计:<span id="pad">0</span></td></tr></table>
</form>
在文本框的onblue 事件写计算函数即可!
getELementById().value得到输入框的值,用正则判断是不是数字,这个前面已经说了
然后用parseInt(val)就可以转为数字了,然后计算总分时也要用parseInt
<script>
function cal(){
var a = document.getElementsByName("point");
var n = 0;
for(var i=0;i<a.length;i++){
var s = (a[i].value).replace(/(^\s+|\s+$)/,"");
var re = /^\d{1,2}$/;
if(re.test(s)){
var m = parseInt(s);
if(m>=1 && m<= parseInt(a[i].getAttribute("rel"), 10)) n += m;
else a[i].value = "";
}
else a[i].value = "";
}
document.getElementById("pad").innerHTML = n;
}
</script>
<form>
<table>
<tr><td>序号</td><td>评价内容</td><td>权重</td><td>评分</td></tr>
<tr><td>1</td><td>文化认同</td><td>5分</td><td><input type="text" name="point" onblur="cal()" rel="5"></td></tr>
<tr><td>2</td><td>职业心态</td><td>5分</td><td><input type="text" name="point" onblur="cal()" rel="5"></td></tr>
<tr><td>3</td><td>专业能力</td><td>15分</td><td><input type="text" name="point" onblur="cal()" rel="15"></td></tr>
<tr><td>4</td><td>创新能力</td><td>15分</td><td><input type="text" name="point" onblur="cal()" rel="15"></td></tr>
<tr><td colspan="4" align="right">总计:<span id="pad">0</span></td></tr></table>
</form>
item1 = Request("point")(0)
item2 = Request("point")(1)