javascript - 如何检查 jQuery 表单循环中的单选按钮和复选框是否被选中?

标签 javascript jquery html jquery-plugins jquery-validate

我正在制作我的第一个 js 插件来验证 html 表单。我已经弄清楚了文本字段,但在选择验证单选按钮和复选框的最佳方式时遇到了一些问题。由于可以有多个单选组,每个组有许多单选按钮。我正在做的是循环表单元素,如下所示。

 _self.on("submit", function(event) {
                console.log('form submitted ');
                _self.find('.'+settings.errorClass).each(function(){
                    let type = $(this).attr('type');
                    let val = $(this).val();
                    validate(type, val);
                });
validate = function(type, val) {
            console.log(type);
            switch (type) {
                case 'text':
                    validateText(val);
                    break;
                case 'radio':
                    validaRadio(val);
                    break;
             case 'checkbox':
                validaCheckbox(val);
                break;
                default:

            }

现在在上面的代码中,为我不想要的每个组中的每个单选按钮调用 validaRadio 函数。我想按组(名称)验证单选按钮。因此,如果有两个单选按钮组,每个单选按钮组都有四个单选按钮,则每个单选按钮组应调用 validateRadio 函数两次,而不是八次。 如果你们对上述问题有更好的解决方案,请告诉我。

最佳答案

为您已发送给验证者的名称创建一个 checkedRadioNames 数组。如果存在名称已验证的单选按钮,请跳过它。

_self.on("submit", function(event) {
  console.log('form submitted ');
  const checkedRadioNames = [];
  _self.find('.'+settings.errorClass).each(function(){
    const type = $(this).attr('type');
    const val = $(this).val();
    if (type === 'radio') {
      const name = $(this).attr('name');
      if (checkedRadioNames.includes(name)) return;
      validaRadio(val, name);
    } else validate(type, val);
  });

关于javascript - 如何检查 jQuery 表单循环中的单选按钮和复选框是否被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49480182/

相关文章:

javascript - 如何停止内联ckeditor div调整大小

javascript - 页脚在中间加载然后粘在底部

javascript - THREE.js - 将粒子均匀地放置在对象的面上而不是顶点上

javascript - 使用 JavaScript 通过 https 提供图像

javascript 注入(inject)没有正常工作

javascript - 使用 Jquery 的 Twitter 登录 Oauth 问题

javascript - 通过 php/html/javascript 等控制浏览器的搜索栏文本

html - 嵌套的 flex 容器改变周围元素的对齐方式

javascript - 覆盖图像右键单击的上下文菜单

javascript - 如何为链接回调实现类似 jquery 的 'success' 和 'failure' 函数