PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.15.3
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.15.3
3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 All 138 releases
← All changes | includes/Admin/Form/ExtraFieldJS/CheckDisableOnMax.php +12 -8 2.10.22.15.3 View file →
@@ -6,9 +6,9 @@
6 6 {
7 7 public static function init($fk, $field, $contentId)
8 8 {
9 9 return <<<FUNCTIONDEF
10 - function initCheckDisableOnMax(formContentId = null) {
10 + function initCheckDisableOnMax(formContentId = null, parentSelector = '') {
11 11 const contentIds = formContentId ? [formContentId] : Object.keys(bf_globals);
12 12 contentIds.forEach(contentId => {
13 13 const frm = bfSelect("#form-"+contentId);
14 14 const {fields} = bf_globals[contentId];
@@ -13,21 +13,25 @@
13 13 const frm = bfSelect("#form-"+contentId);
14 14 const {fields} = bf_globals[contentId];
15 15 const checkFlds = Object.keys(fields).filter(fld => ['check', 'image-select'].includes(fields[fld].typ));
16 16 checkFlds.forEach(fk => {
17 - frm.querySelectorAll("."+fk+"-inp-wrp input[type='checkbox']").forEach(function(el){
17 + if(typeof checkRepeatedField !== 'undefined' && checkRepeatedField(fk, bf_globals[contentId]) && !parentSelector){
18 + return;
19 + }
20 + const classSelector = parentSelector + "."+fk+"-inp-wrp input[type='checkbox']";
21 + frm.querySelectorAll(classSelector).forEach(function(el){
18 22 el.addEventListener("change",function(e){
19 23 const max = Number(fields[fk].mx);
20 - const checked = frm.querySelectorAll("."+fk+"-inp-wrp input[type='checkbox']:checked").length;
24 + const checked = frm.querySelectorAll(classSelector + ":checked").length;
21 25 if(checked >= max){
22 - frm.querySelectorAll("."+fk+"-inp-wrp input[type='checkbox']").forEach(function(el){
23 - if(!el.checked){
24 - el.setAttribute("disabled",true);
25 - }
26 + frm.querySelectorAll(classSelector).forEach(function(el){
27 + if(!el.checked){
28 + el.setAttribute("disabled",true);
29 + }
26 30 });
27 31 }else{
28 32 const options = fields[fk].opt;
29 - frm.querySelectorAll("."+fk+"-inp-wrp input[type='checkbox']").forEach(function(el, index){
33 + frm.querySelectorAll(classSelector).forEach(function(el, index){
30 34 if(!options[index]?.disabled){
31 35 el.removeAttribute("disabled");
32 36 }
33 37 });