0.0.33 forms

This commit is contained in:
SBD
2025-01-15 18:40:11 +03:00
parent c247bfcefa
commit 4fab7ba2c0
10 changed files with 81 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
function chooseCheckbox(el) {
if (!el) return;
resetFieldError(el);
let $parent = el.closest('.field_container');
let $checkbox = $parent.querySelector('.checkbox')
@@ -128,4 +129,63 @@ function selectInputWContainer (el, callback) {
$input.focus()
if (callback) callback(el);
}
function resetFieldError (el){
if (!el) return;
let $field = el.closest('.field_container');
if (!$field) return;
let $error = $field.querySelector('.error_container');
if (!$error) return;
if (!checkFieldEmpty($field)){
$error.remove()
}
}
function checkFieldEmpty($field) {
if (!$field) return;
let empty = true;
switch ($field.dataset.type) {
case 'checkbox':
let $checkbox = $field.querySelector('.checkbox');
let c_value = $checkbox.classList.contains('checked');
if (c_value) empty = false;
break;
case 'radio':
let $radio = $field.querySelector('.radio.checked');
if ($radio) empty = false;
break;
case 'location':
let $location = $field.querySelector('input');
let l_value = $location.dataset.id;
if (l_value) empty = false;
break;
case 'input':
let $input = $field.querySelector('input');
if ($input.value) empty = false;
break;
case 'textarea':
let $textarea = $field.querySelector('textarea');
if ($textarea.value) empty = false;
break;
case 'date':
let $date = $field.querySelector('input');
if ($date.value) empty = false;
break;
}
return empty;
}