幫我看看这个JS哪里出错了?
时间:2011-12-06
来源:互联网
<script> function beforesubmit() { var number = document.getElementById("qty1").value; for (j=1;j<=number;j++){ if(document.getElementById("ou_user"+j).checked==false) { alert("至少選擇一位審核人!"); document.getElementByName("ou_user"+j).focus(); return false; } } var cond=confirm("確定申請嗎?") if (!cond) { return false; } } </script> <form id="form1" name="form1" method="POST" action="<%=MM_editAction%>" onSubmit="return beforesubmit()"> <% j=1 if rs1.recordcount>0 then do while not rs1.eof %> <input name="ou_user" type="radio" id="ou_user<%=j%>" value="<%=rs1("u_id")%>" /> <%=rs1("finishname")%> <% j=j+1 rs1.movenext loop end if %> <input type="submit" name="button" id="button" value="確定" /> </form>
作者: shugeer 发布时间: 2011-12-06
for (j=1;j<=number;j++)
这块的问题吧
document.getElementById("qty1").value你这块拿到的值是个字符串。
根据,逗号或者别的符号分割成数组才能循环,要不进不了for循环
作者: MuBeiBei 发布时间: 2011-12-06
作者: babyboy9685 发布时间: 2011-12-06
不让我过去
作者: shugeer 发布时间: 2011-12-06
完整的代码如下,,但是还不行
<script>
function beforesubmit()
{
var number = document.getElementById("qty1").value;
for (j=1;j<=number;j++){
if(document.getElementById("ou_user"+j).checked==false)
{
alert("至少選擇一位審核人!");
document.getElementByName("ou_user"+j).focus();
return false;
}
}
var cond=confirm("確定申請嗎?")
if (!cond) {
return false;
}
}
</script>
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>" onSubmit="return beforesubmit()">
<%
j=1
if rs1.recordcount>0 then
do while not rs1.eof
%>
<input name="ou_user" type="radio" id="ou_user<%=j%>" value="<%=rs1("u_id")%>" />
<%=rs1("finishname")%>
<%
j=j+1
rs1.movenext
loop
end if
%>
<input name="qty1" type="hidden" id="qty1" value="<%=j-1%>" />
<input type="submit" name="button" id="button" value="確定" />
</form>
作者: shugeer 发布时间: 2011-12-06
var number = document.getElementById("qty1").value;
for (j=1;j<=number;j++)
这块的问题吧
document.getElementById("qty1").value你这块拿到的值是个字符串。
根据,逗号或者别的符号分割成数组才能循环,要不进不了for循环
我更新了代码,,再帮我看下
作者: shugeer 发布时间: 2011-12-06
2.你不该 这么判断 第一个 你是选 了 可是循环没有停止 只有遇到一个不选的才会停
作者: babyboy9685 发布时间: 2011-12-06
1.你这个方法只有return false
2.你不该 这么判断 第一个 你是选 了 可是循环没有停止 只有遇到一个不选的才会停
你的判断 应该是只要有一个选的 就要跳出循环 往下走
作者: babyboy9685 发布时间: 2011-12-06
for (j=1;j<=number;j++){ if(document.getElementById("ou_user"+j).checked==true){ break; } alert("至少選擇一位審核人!"); document.getElementByName("ou_user"+j).focus(); return false; } }
作者: babyboy9685 发布时间: 2011-12-06
引用 6 楼 babyboy9685 的回复:
1.你这个方法只有return false
2.你不该 这么判断 第一个 你是选 了 可是循环没有停止 只有遇到一个不选的才会停
你的判断 应该是只要有一个选的 就要跳出循环 往下走
帮我修改下好吗?非常感谢!
作者: shugeer 发布时间: 2011-12-06
var checkflag = false; for(var i=0;i<number;i++){ if(document.getElementById("aaa"+i).checked = true){ checkflag = true; break; } } if(checkflag==false){ alert("至少选一个") return false; }
作者: babyboy9685 发布时间: 2011-12-06
<script> function beforesubmit() { var number = document.getElementsByName('ou_user'); for (j=1;j<=number;j++){ if(document.getElementById("ou_user"+j).checked==false) { alert("至少選擇一位審核人!"); document.getElementByName("ou_user"+j).focus(); return false; } } var cond=confirm("確定申請嗎?") if (!cond) { return false; } } </script>
这样试试~·
作者: MuBeiBei 发布时间: 2011-12-06
有区别的地方改了
var checkflag = false;
for(var i=0;i<number;i++){
if(document.getElementById("ou_user"+i).checked == true){
checkflag = true;
break;
}
}
if(checkflag==false){
alert("要至少选一个");
return false;
}
作者: babyboy9685 发布时间: 2011-12-06
谢谢大家!
<script>
function beforesubmit()
{
var checkflag = false;
var number = document.getElementsByName('ou_user');
for (var j=0;j<number.length;j++)
{
if(number[j].checked)
{
checkflag=true;
}
}
if (!checkflag)
{
alert("至少選擇一位審核人!");
//document.getElementByName("ou_user").focus();
return false;
}
var cond=confirm("確定申請嗎?")
if (!cond) {
return false;
}
}
</script>
作者: shugeer 发布时间: 2011-12-06
之前不是定义var checkflag = false;
然后如果有选择的话,checkflag就为true
if(number[j].checked)
{
checkflag=true;
}
if (!checkflag)
非就是取反,true就是false,false就为true
如果没选择就进if
弹出alert
作者: MuBeiBei 发布时间: 2011-12-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28