var button=document.getElementsByName("d1");
var p=document.getElementById("a3");
for(var i=0;i<button.length;i++)
{
if(button[i].checked==false)
{
p.value="请选择性别";
return false;
}else
{
p.value="";
return true;
}
} <td><input type="radio" name="d1" value="男" />
男
<input type="radio" name="d1" value="女" />
女
<input type="text" name="name" id="a3" class="a1"/>
</td>这个只有选择男的时候可以提交表单选择女的时候不可以提示需要选中
帮看一下是哪的逻辑错误
也就是说,如果是两个相同name的radio,你只需要判断第一个是否选中就OK了
if (button[i].checked == false) {
p.value = "请选择性别";
}
else {
p.value = ""; return true;
} }
return false; }
在for 外面加个return false;
里面那个去掉。。再试下
var button=document.getElementsByName("d1");
var p=document.getElementById("a3");
var flag = false;
for(var i=0;i<button.length;i++)
{
if(button[i].checked)
{
flag = true;
p.value="";
};
}
if(!flag)
{
p.value="请选择性别";
return false;
}
//嗯 是逻辑问题 下面已解决
function read()
{
var reValue=false;
var button=document.getElementsByName("d1");
var p=document.getElementById("a3");
for(var i=0;i<button.length;i++)
{
if(button[i].checked==true){reValue = true;break;}
}
if(reValue){p.value="";return reValue;}else{p.value="请选择性别";return reValue;}
}