javascript判断勾选复选框后,相关的输入框是否有输入文字。
有做了一个提交表单。里面有多个复选框,每个复选框后面相应的有一个输入框,我现在要javascript判断勾选复选框后,相关的输入框是否有输入文字。但我设置了javascr...
有做了一个提交表单。
里面有多个复选框,每个复选框后面相应的有一个输入框,我现在要javascript判断勾选复选框后,相关的输入框是否有输入文字。但我设置了javascript,总是提示复选框为空或不是对象。javascript如下:
for(var i=1;i<8;i++)
{
for(var p=1;p<5;p++)
{
if(document.myform.fs[i][p].checked==true)
{
if(document.myform.qt[i][p].value=='')
{
alert("请输入姓名");
document.myform.qt[i][p]focus();
return false;
}
}
}
}
应该是[i][p]这里有误,不知道应该怎样才是正确的? 展开
里面有多个复选框,每个复选框后面相应的有一个输入框,我现在要javascript判断勾选复选框后,相关的输入框是否有输入文字。但我设置了javascript,总是提示复选框为空或不是对象。javascript如下:
for(var i=1;i<8;i++)
{
for(var p=1;p<5;p++)
{
if(document.myform.fs[i][p].checked==true)
{
if(document.myform.qt[i][p].value=='')
{
alert("请输入姓名");
document.myform.qt[i][p]focus();
return false;
}
}
}
}
应该是[i][p]这里有误,不知道应该怎样才是正确的? 展开
1个回答
展开全部
myform 应该是 window.myform ,不是 document.myform
不管表单内容怎么写,name相同的复选框都是一维数组。
for ( var i = 0; i < myform.fs.length; i++) {
if (myform.fs[i].checked && myform.qt[i].value == '') {
alert("请输入姓名");
myform.qt[i].focus();
return false;
}
}
追问
你好,因为我的复选框名称不是按顺序来的,所以要做两个循环语句。
按你的说法这样是不行的吗?如果按你的做法复选框名称是要按顺序才可以的是吧?我刚才试过了,按的你改还是不行,一样提示复选框为空或不是对象。按我之前的做法,只要document.myform.fs[i][p].checked==true改为document.myform.fs11.checked==true就可以了。
追答
原先以为复选框name都是fs,输入框name都是qt
name是fs11这种格式,应该这样写:
for ( var i = 1; i < 8; i++) {
for ( var p = 1; p < 5; p++) {
if (myform['fs' + i + p].checked
&& myform['qt' + i + p].value == '') {
alert("请输入姓名");
myform['qt' + i + p].focus();
return false;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询