Ajax запросы отрабатывают верно: получение статуса команды, удаление команды, постановка в очередь. Не могу решить проблему, при клике осуществляет отправку команд на сервер. В случае перезагрузки F5, сбрасываются все инпуты с измененными значениями, хотя должны сохраниться текущие значения пока не будет выполнена отмена.
var initialDeviceSettingsSets = $('#ikz-settings-sets').get(0).outerHTML;
var currentDeviceSettingsSets;
var statusSuccessSets;
initialSetsConfigs = result.device_settings.bonding;
var last = true;
var cur_Vals;
var initialMasDeviceSettingsSets;
var val_KSPD_Obj;
$.ajax({
type: 'GET',
url: antraksHost + '/cur_vals?uuid=' + uuidOfElement + '&last=' + last,
async: false,
success: function(results) {
cur_Vals = [];
val_KSPD_Obj = {};
val_KSPD_Obj['Peers'] = cur_Vals;
},
error: function(results) {
}
});
$.ajax({
url: window.antraksHost + '/device/' + uuidOfElement + '/change_settings_status?key=SetBinding',
async: false,
type: 'GET',
success: function(resultSetBinding) {
if (resultSetBinding.status == 'Command to change this setting is in queue') {
result.device_settings.bonding = JSON.parse(resultSetBinding.values);
statusSuccessSets = true;
}
},
error: function(resultSetBinding) {
console.error('error /change_settings_status?key=SetBinding');
}
});
if (result.protocol == 'iec104') {
delete result.device_settings.set_number;
result.device_settings['bonding'] = val_KSPD_Obj;
var initialMasDeviceSettingsSets = [];
for (key in result.device_settings.bonding) {
// delete result.device_settings.set_number;
initialMasDeviceSettingsSets.push(key);
}
$('#convert-json-to-html-tree-sets').append(convertJsonToHtmlTree(result.device_settings.bonding, typeOfDevice, '', initialMasDeviceSettingsSets));
} else if (Object.keys(result.device_settings.bonding).length != 0) {
$('#convert-json-to-html-tree-sets').append(convertJsonToHtmlTree(result.device_settings.bonding, typeOfDevice, '', initialMasDeviceSettingsSets));
} else {
$('#convert-json-to-html-tree-sets').append('empty');
}
if (statusSuccessSets == true) {
$('#settings-for-device-device_settings-sets').removeClass('settings-for-device-button-not-press');
$('#settings-for-device-device_settings-sets').addClass('settings-for-device-button-press');
$('#ikz-settings-sets input').attr('disabled', 'disabled');
$('#settings-for-device-device_settings-sets').text(localeTextCancelTransfer);
}
// при изменении значения input-а обновлять html и реагирование кнопки
$('#ikz-settings-sets input').on('input', function() {
$(this).addClass('changedInput');
if ($(this).attr('type') != 'checkbox') {
// $(this).attr('value', $(this).val() );
currentDeviceSettingsSets = ($('#ikz-settings-sets').get(0).outerHTML);
if (initialDeviceSettingsSets != currentDeviceSettingsSets) {
$('#settings-for-device-device_settings-sets').addClass('settings-for-device-button-not-press');
} else {
$('#settings-for-device-device_settings-sets').removeClass('settings-for-device-button-not-press');
}
}
});
$('#settings-for-device-device_settings-sets').click(function() {
if (
$('#settings-for-device-device_settings-sets').hasClass('settings-for-device-button-press') ||
$('#settings-for-device-device_settings-sets').hasClass('settings-for-device-button-not-press')
) {
if ($('#settings-for-device-device_settings-sets').hasClass('settings-for-device-button-press')) {
if (confirm(localeRemoveCommandFromCommandQueue) == true) {
$.ajax({
url: window.antraksHost + '/device/' + uuidOfElement + '/change_settings_request?key=SetBinding',
async: false,
type: 'DELETE',
success: function(result) {
// location.reload();
},
error: function(result) {
console.error('error DELETE SetBinding ' + result);
}
});
}
} else {
if (confirm(localeAddCommandToTheCommandQueue) == true) {
$('#frame-compl-sets .changedInput').each(function() {
var evalCodeSets = 'initialSetsConfigs';
// var evalCodeSets;
var nameAttrIdSets = $(this).attr('id');
nameAttrIdSets = nameAttrIdSets.replace('[', '.').replace(']', '');
nameAttrIdSets = nameAttrIdSets.replace('[', '.').replace(']', '');
nameAttrIdSets = nameAttrIdSets.split('.');
for (var i = 0; i < nameAttrIdSets.length; i++) {
if (nameAttrIdSets[i] = 'Peers') {
evalCodeSets = 'initialSetsConfigs';
else {
evalCodeSets = evalCodeSets + '["' + nameAttrIdSets[i] + '"]';
}
}
eval(evalCodeSets + ' = ' + $(this).val());
});
var sendSetSetsConfigs = JSON.stringify(initialSetsConfigs);
$.ajax({
type: 'POST',
url: window.antraksHost + '/device/' + uuidOfElement + '/change_settings',
async: false,
data: {
key: 'SetBinding',
value: sendSetSetsConfigs
},
success: function(result) {
$('#settings-for-device-device_settings-sets').removeClass('settings-for-device-button-not-press');
$('#settings-for-device-device_settings-sets').addClass('settings-for-device-button-press');
$('#ikz-settings-sets input').attr('disabled', 'disabled');
$('#settings-for-device-device_settings-sets').text(localeTextCancelTransfer);
},
error: function(result) {
console.error('error change_settings sets');
}
});
}
}
}
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я только начинаю изучать JS, возникла проблема, есть рабочий код, но сильно громоздкий и большой, помогите его упростить или уменьшить
Можно ли создать на canvas библиотеке Konvajs (или на каком-то другом) blur эффект на фото при mousemove?
У меня есть функция которая берет строку и проверяет является ли она CSS функцией hslaCSS понимает разное написание этой функции — с тремя и четырьмя...
Как изменить атрибут src у img при наведении?Eсть-ли варианты реализации на чистом css?Если нет - то и js подойдёт