0.0.133 search routes
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
function searchRoutes (form) {
|
||||
event.preventDefault()
|
||||
let $filter_form = $('.b_filter_routes form')[0];
|
||||
|
||||
let formData = getFormData(form);
|
||||
formData = getFormData($filter_form, formData);
|
||||
formData.append('owner_type', 'mover');
|
||||
|
||||
let request = new api({
|
||||
|
||||
@@ -8,9 +8,8 @@ function chooseCheckbox(el) {
|
||||
$checkbox.classList.toggle("checked");
|
||||
}
|
||||
|
||||
function getFormData(form) {
|
||||
function getFormData(form, formData=new FormData()) {
|
||||
if (!form) return;
|
||||
let formData = new FormData();
|
||||
let default_element_types = ['input', 'textarea', 'date'];
|
||||
|
||||
let form_elements = getFormElements(form);
|
||||
@@ -52,8 +51,24 @@ function addCustomDataToFormData(el, formData) {
|
||||
case 'checkbox':
|
||||
let $checkbox = el.querySelector('.checkbox');
|
||||
let c_value = $checkbox.classList.contains('checked');
|
||||
if ($checkbox.dataset.value) c_value = $checkbox.dataset.value;
|
||||
|
||||
formData.append(name, c_value);
|
||||
if ($checkbox.classList.contains('checked')){
|
||||
if (formData.get(name) || formData.get(name) === false){
|
||||
let previos_val = formData.get(name);
|
||||
formData.delete(name);
|
||||
formData.set(name, previos_val + "," + c_value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (typeof c_value === 'string'){
|
||||
if ($checkbox.classList.contains('checked')){
|
||||
formData.append(name, c_value);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
formData.append(name, c_value);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'radio':
|
||||
@@ -75,6 +90,11 @@ function addCustomDataToFormData(el, formData) {
|
||||
formData.append(name, l_value);
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
let $select = el.querySelector('select');
|
||||
if (!$select) return;
|
||||
formData.append(name, $select.value);
|
||||
|
||||
}
|
||||
return formData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user