我正在使用jsp页面,其中我要求几个多项选择题。所以我使用单选按钮来显示选项。
现在我想写一个javascript函数来强制检查所有字段。 我的代码看起来像这样。
var lengh = document.getElementById("totalQues").value;
for(i=1; i <= lengh; i++){
var radioName= "radio"+i;
var radioQues = document.getElementsByName(radioName);
var concatS= "";
for(j=0; j< radioQues.length; j++){
concatS = concatS+"(radioQues["+j+"].checked == false)";
concatS= concatS + " && ";
}
var sliced= concatS.slice(0, concatS.lastIndexOf("&&"));
if(sliced){
msgid="Question "+i;
id="radio"+i;
check=false;
break;
}
if(check==false){
alert("kopkopok the break part");
}
}
问题在于
var sliced= concatS.slice(0, concatS.lastIndexOf("&&"));
if(sliced){
msgid="Question "+i;
id="radio"+i;
check=false;
break;
}
我的if语句没有识别我在切片变量中存储的条件。 请帮帮....
答案 0 :(得分:0)
看起来你正在尝试评估字符串
"(radioQues[1].checked == false) && (radioQues[2].checked == false) ..."
并查看描述的条件是否为真。将字符串本身与false
进行比较将不会这样做。最好只需在循环浏览按钮时检查按钮,查找已选中的按钮。如果未找到,请显示您的提醒:
var lengh = document.getElementById("totalQues").value;
for (i = 1; i <= lengh; i++) {
var radioName = "radio" + i;
var radioQues = document.getElementsByName(radioName);
var any = false;
for (j = 0; j < radioQues.length; j++) {
if (radioQues[j].checked) {
any = true;
break;
}
}
if (!any) {
msgid = "Question " + i;
id = "radio" + i;
alert("kopkopok the break part");
break;
}
}