我要做一个调查问卷,每个问题用单选按钮选择。
现在问题是提交后如果哪一题未填写或者填写不规范,需要提示弹出文字如“不能为空,请检查!”,同时没有填写的地方背景颜色变为黄色。而且之前选择的没有清空不用再去点了。
js代码:<script language="javascript">
<!--function myCheck(n)
{
var RadioGroupName;
var t;
var flag;
for(var i=1; i<=n; i++)
{
flag=false;
t="t"+i;
RadioGroupName=document.getElementsByName(t)
for(var j=0; j<RadioGroupName.length; j++)
{
if(RadioGroupName[j].checked)
{ flag=true;
break;
}
}
}
if(flag==false)
{
alert("对不起,不能为空,请检查!");
document.getElementById(t1).className = "list_b";
return false;
}
}
--> </script>html代码:<div class="feature"> <form action="" method="get" id="zl" name="zl"> <div class="tip-2"> </div>
<!--go-->
<div class="tip-3">
1、您的性别 </div>
<div class="list_a" id="w1">
<ul >
<li>
<input name="t1" type="radio" value="男" >
A.
男</li>
<li>
<input type="radio" name="t1" value="女">
B.
女</li>
</ul>
</div>
<div class="tip-3">
2、您的年龄 </div>
<div class="list_a" id="w2">
<ul >
<li>
<input type="radio" name="t2" value="radiobutton">
A. 18岁以下</li>
<li>
<input type="radio" name="t2" value="radiobutton">
B. 18岁-25岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
C. 25岁-35岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
D. 35岁--45岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
E. 45岁--55岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
F. 55岁以上</li>
</ul>
</div><div class="menu_a">
<input name="" type="image" src="images/btn_dl.png" onclick="return myCheck(2)"></div>
</div>
</form>
</div>
现在问题是提交后如果哪一题未填写或者填写不规范,需要提示弹出文字如“不能为空,请检查!”,同时没有填写的地方背景颜色变为黄色。而且之前选择的没有清空不用再去点了。
js代码:<script language="javascript">
<!--function myCheck(n)
{
var RadioGroupName;
var t;
var flag;
for(var i=1; i<=n; i++)
{
flag=false;
t="t"+i;
RadioGroupName=document.getElementsByName(t)
for(var j=0; j<RadioGroupName.length; j++)
{
if(RadioGroupName[j].checked)
{ flag=true;
break;
}
}
}
if(flag==false)
{
alert("对不起,不能为空,请检查!");
document.getElementById(t1).className = "list_b";
return false;
}
}
--> </script>html代码:<div class="feature"> <form action="" method="get" id="zl" name="zl"> <div class="tip-2"> </div>
<!--go-->
<div class="tip-3">
1、您的性别 </div>
<div class="list_a" id="w1">
<ul >
<li>
<input name="t1" type="radio" value="男" >
A.
男</li>
<li>
<input type="radio" name="t1" value="女">
B.
女</li>
</ul>
</div>
<div class="tip-3">
2、您的年龄 </div>
<div class="list_a" id="w2">
<ul >
<li>
<input type="radio" name="t2" value="radiobutton">
A. 18岁以下</li>
<li>
<input type="radio" name="t2" value="radiobutton">
B. 18岁-25岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
C. 25岁-35岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
D. 35岁--45岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
E. 45岁--55岁</li>
<li>
<input type="radio" name="t2" value="radiobutton">
F. 55岁以上</li>
</ul>
</div><div class="menu_a">
<input name="" type="image" src="images/btn_dl.png" onclick="return myCheck(2)"></div>
</div>
</form>
</div>
提示黄色背景的代码list_b
多谢 我已经搞了一天了 没头绪
var FLAG = false;
for (var i = 1; i <= n; i ++) {
var obj = document.getElementsByName('t' + i);
var isChecked = false;
for (var j = 0; j < obj.length; j ++) {
if (obj[j].checked) {
FLAG = true;
isChecked = true;
break;
}
}
if (!isChecked) document.getElementById('w' + i).className = 'list_b';
}
if (!FLAG) {
alert('对不起,不能为空,请检查!');
return false;
}
else return true;
}
var o_b=false;
var obj = document.getElementsByName('t' + n);
for(var i=0;i<obj.length;i++){
if (obj[i].checked) {
o_b = true;
break;
}
}
return o_b;
}
function myCheck(n) {
var back=true;
for(var i=1;i<=n;i++){
if(!check(i)){
document.getElementById('w' + i).style.backgroundColor="yellow";
back=false;
}
}
if(!back){
return false;
alert('对不起,不能为空,请检查!');
}else{
alert("正常提交!");
}
}
还有,出现提示后并给没有填写的地方加上焦点怎么做?
而且其中一个不为空则直接提交成功了,我对这个是门外汉。
请大家帮忙想想办法
function myCheck(n) {
var counter = 0; //用于保存已选择的单选组的数量
for (var i = 1; i <= n; i ++) document.getElementById('w' + i).className = '';
for (var i = 1; i <=n; i ++) {
var obj = document.getElementsByName('t' + i);
var isChecked = false;
for (var j = 0; j < obj.length; j ++) {
if (obj[j].checked) {
counter += 1;
isChecked = true;
break;
}
}
if (!isChecked) document.getElementById('w' + i).className = 'list_b';
}
if (counter < n) {
alert('对不起,不能为空,请检查!');
return false;
}
else return true;
}
return false;