jQuery Validation插件 – 复选框
我自动生成一个测验页面,其中包含单选,多选和用户输入类型的问题。 为了确保所有问题都已得到解答,我使用的是jQuery Validation Plugin。
这适用于Radiobuttons和Textboxes,但在遇到复选框时失败。 我的表单(通过从MySQL提出问题和选择动态生成)代码生成如下:
$(document).ready(function () { $("#form1").validate({ invalidHandler: function() { alert('FAILED validation'); }, submitHandler: function() { alert('PASSED validation'); } }); }); form.form1 label.error { display: none; }
截至目前,这只有在我选中每个复选框中的第一个选项时才有效。 (即使我选择选项2,3和4,它仍然会给我一个错误,说我需要检查第一个框。
我错过了我生成的HTML中的内容吗? 任何帮助表示赞赏。 如果您需要查看更多我的代码,请告诉我们。
(注意:每个组名对应于问题编号,每个ID元素基于问题表中的question_ID)
编辑:添加了Sparky建议的更改!
您的命名如下……
name="0"
根据您的doctype
,这可能是无效的HTML。 至少这是不好的做法,因为不是所有的浏览器或JavaScript框架都会处理它。 请参阅: https : //stackoverflow.com/a/79022/594235
但是,碰巧你的代码在我的Firefox版本中工作( 我可以选中方框2,3或4,我没有得到validation消息,要求我检查第一个框 ): http : //jsfiddle.net /波特/
我建议您更改您的name
以匹配您的id
,这也是构建表单时的常见做法。
name="check[0]" id="check[0]"
您的弹出窗口是通过HTML5validation创建的。 但是,由于jQuery Validate插件会自动禁用HTML5validation,因此插件似乎没有正确实现。 请显示问题的jsFiddle演示。