diff --git a/DnsServerCore/www/js/common.js b/DnsServerCore/www/js/common.js index 6ed0cf21..3a12ea59 100644 --- a/DnsServerCore/www/js/common.js +++ b/DnsServerCore/www/js/common.js @@ -1,6 +1,6 @@ /* Technitium DNS Server -Copyright (C) 2021 Shreyas Zare (shreyas@technitium.com) +Copyright (C) 2022 Shreyas Zare (shreyas@technitium.com) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,25 +25,20 @@ function htmlDecode(value) { return $('
').html(value).text(); } -function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholder, objLoaderPlaceholder, dataIsFormData, dataContentType, dontHideAlert, showInnerError) { - var async = false; +function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholder, objLoaderPlaceholder, processData, dataContentType, dontHideAlert, showInnerError) { var finalUrl; finalUrl = arguments[0].url; - if (data == null) + if (data == null) { if (arguments[0].data == null) data = ""; else data = arguments[0].data; + } - if (success != null) - async = true; - else - if (arguments[0].success != null) { - async = true; - success = arguments[0].success; - } + if (success == null) + success = arguments[0].success; if (error == null) error = arguments[0].error; @@ -69,8 +64,8 @@ function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholde if (objLoaderPlaceholder == null) objLoaderPlaceholder = arguments[0].objLoaderPlaceholder; - if (dataIsFormData == null) - dataIsFormData = arguments[0].dataIsFormData; + if (processData == null) + processData = arguments[0].processData; if (dataContentType == null) dataContentType = arguments[0].dataContentType; @@ -78,22 +73,12 @@ function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholde if (objLoaderPlaceholder != null) objLoaderPlaceholder.html("
"); - var successFlag = false; - var processData; - - if (dataIsFormData != null) { - if (dataIsFormData == true) { - processData = false; - dataContentType = false; - } - } - $.ajax({ type: "POST", url: finalUrl, data: data, dataType: "json", - async: async, + async: true, cache: false, processData: processData, contentType: dataContentType, @@ -157,8 +142,6 @@ function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholde showAlert("danger", "Error!", msg, objAlertPlaceholder); } }); - - return successFlag; } function HTTPGetFileRequest(url, success, error, objAlertPlaceholder, objLoaderPlaceholder, dontHideAlert) { @@ -312,7 +295,7 @@ function sortTable(tableId, n) { } function serializeTableData(table, columns) { - var data = table.find('input:text, select'); + var data = table.find('input:text, input:checkbox, input:hidden, select'); var output = ""; for (var i = 0; i < data.length; i += columns) { @@ -324,19 +307,28 @@ function serializeTableData(table, columns) { output += "|"; var cell = $(data[i + j]); - var cellValue = cell.val(); - var optional = (cell.attr("data-optional") === "true"); - if ((cellValue === "") && !optional) { - showAlert("warning", "Missing!", "Please enter a valid value in the text field in focus."); - cell.focus(); - return false; + var cellValue; + + if (cell.attr("type") == "checkbox") { + cellValue = cell.prop("checked").toString(); } + else { + cellValue = cell.val(); - if (cellValue.includes("|")) { - showAlert("warning", "Invalid Character!", "Please edit the value in the text field in focus to remove '|' character."); - cell.focus(); - return false; + var optional = (cell.attr("data-optional") === "true"); + + if ((cellValue === "") && !optional) { + showAlert("warning", "Missing!", "Please enter a valid value in the text field in focus."); + cell.focus(); + return false; + } + + if (cellValue.includes("|")) { + showAlert("warning", "Invalid Character!", "Please edit the value in the text field in focus to remove '|' character."); + cell.focus(); + return false; + } } output += htmlDecode(cellValue);