From 594372f7f78df41d1623747231cd3f38068363fe Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 2 Apr 2025 09:55:49 -0300 Subject: [PATCH 1/2] Use less jquery when validating required radios --- js/formidable.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index 3b72637994..2c8eab5a67 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -364,7 +364,7 @@ function frmFrontFormJS() { * @return {Array} Errors */ function checkRequiredField( field, errors ) { - let checkGroup, tempVal, i, placeholder, + let tempVal, i, placeholder, val = '', fieldID = '', fileID = field.getAttribute( 'data-frmfile' ); @@ -374,10 +374,17 @@ function frmFrontFormJS() { } if ( field.type === 'checkbox' || field.type === 'radio' ) { - checkGroup = jQuery( 'input[name="' + field.name + '"]' ).closest( '.frm_required_field' ).find( 'input:checked' ); - jQuery( checkGroup ).each( function() { - val = this.value; - }); + document.querySelectorAll( 'input[name="' + field.name + '"]' ).forEach( function( input ) { + const requiredField = input.closest( '.frm_required_field' ); + if ( ! requiredField ) { + return; + } + + const checkedInputs = requiredField.querySelectorAll( 'input:checked' ); + checkedInputs.forEach( function( input ) { + val = input.value; + } ); + } ); } else if ( field.type === 'file' || fileID ) { if ( typeof fileID === 'undefined' ) { fileID = getFieldId( field, true ); From 73c707f2a2a0829cd469d733a38f3e8417cfd774 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 2 Apr 2025 09:57:33 -0300 Subject: [PATCH 2/2] Use another var name --- js/formidable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/formidable.js b/js/formidable.js index 2c8eab5a67..d6095ff441 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -381,8 +381,8 @@ function frmFrontFormJS() { } const checkedInputs = requiredField.querySelectorAll( 'input:checked' ); - checkedInputs.forEach( function( input ) { - val = input.value; + checkedInputs.forEach( function( checkedInput ) { + val = checkedInput.value; } ); } ); } else if ( field.type === 'file' || fileID ) {