请教以下代码的错误(javascript 和JSP)

来源:百度知道 编辑:UC知道 时间:2024/09/20 15:28:25
<script>
function getPrice(){
var strPrice="";
for(i=1; i<=8; i++){
var j=document.getElementById("p"+i).checked;
if(j==true)strPrice=strPrice + '1';
else strPrice=strPrice + '0';
}
return strPrice;
}
</script>

<input type = "hidden" name = "price" value = "sdgasdf"/> //用来获取script里面的strPrice

document.all.price.value = getPrice();//传值到上面的隐藏域

现在的问题是getPrice()执行不了,整个东西运行过后显示的是price隐藏域的值的初始值"sdgasdf",如果能执行的话最终值应该只是关于0和1的字符串。所以。。帮忙看看吧,谢谢了~
其实还有其他的get方法,都是从这个get方法复制过去的都能执行,但是就这个却是执行不了的,测试过之后发现应该是getPrice方法内部有语法错误,看了很久看不出来

不知道你这个js运行没有,不过你最好在script标签里面加上type属性;
<script type="text/javascript">
</script>

这段也要加<script>啊
<script>
document.all.price.value = getPrice();
</script>
我觉得要在checkbox onclick=getPrice()
function getPrice(){
var strPrice="";
for(i=1; i<=8; i++){
var j=document.getElementById("p"+i).checked;
if(j==true)strPrice=strPrice + '1';
else strPrice=strPrice + '0';
}
document.all.price.value=strPrice;
}
这样你不选的时候就是空的
这样才合理

当前代码没有问题
检查你页面的checkbox的所有的ID是不是 id="p1" id="p2" id="p3" id="p4" id="p5" id="p6" id="p7" id="p8"
当前的的确没有问题
ID的检查要是没有问题 多发一点源码 我研究研究

首先你要确定document.all.price.value = getPrice() 这段代码是在什么时候执行的! 必须要在 window.onload 中或者 onload完成之后调用才会有效。

你可以将代码写到window.onload 函数中看看