gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 02:12:49 25 4
gpt4 key购买 nike

我正在制作我的第一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com