在线等,哪位好心人帮助一下!!JS代码有什么问题?每次不验证就提交了。功能是检查表单中的列表非空

functionCheckForm(frm){for(vari=0;i<document.frm.elements.length;i++)if(document.frm.... function CheckForm(frm)
{
for(var i=0;i<document.frm.elements.length;i++)

if(document.frm.elements[i].options.value=="0")
{
alert('还有没完成的题目,请完成后继续');
document.frm.elements[i].focus();
return false;
}
}
展开
 我来答
wuhuilong123
2012-10-03 · TA获得超过327个赞
知道小有建树答主
回答量:574
采纳率:0%
帮助的人:349万
展开全部
你确定你的document.frm.elements[i].options.value 的初始值是0 么?如果是空的话 也会提交的。
更多追问追答
追问

请选择
1
2
3
4
5
6

这个是我每个列表的代码。因为太多了,想用循环。
追答
function CheckForm(frm)
{
for(var i=0;i<document.frm.elements.length;i++)

if(document.frm.elements[i].options.value=="0")
{
alert('还有没完成的题目,请完成后继续');
document.frm.elements[i].focus();
return false;
}else{
alert(document.frm.elements[i].options.value);

}
}

你这样弹出值来看看是什么,你就知道你哪里错了嘛
缓步莫迟疑C
2012-10-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6534万
展开全部
首先,如果你的frm是传入的对象的话,就没必要在代码中使用document.frm,直接使用frm就可以了,如果不传入这个对象,就不要在函数参数列表中声明它,这样会引起二义性.
然后你可以试试用一个链接或是按钮(非提交按钮)来触发这个函数,这样如果脚本执行错误,你将有机会看到,如果用在onsubmit事件中,函数出错后将导致表单提交,你就没机会看到脚本的错误信息了.
你可以根据脚本错误信息进一步排查错误原因.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式