// Variable to track server test results var serverTestSuccessful = false; function resetTestResult() { serverTestSuccessful = false; $('#serverResponse').html(txtTestServer); checkRequired(); } function setTestResult(success) { serverTestSuccessful = success; checkRequired(); } function checkRequired() { // Check if form is valid using HTML5 validation and if server test passed if ($("form").get(0).checkValidity() && serverTestSuccessful) { $("#next-button").removeClass('disabled') $("#next-button").removeAttr('data-toggle') $("#next-button").removeAttr('title') $("#next-button").tooltip('destroy') return true; } else { $("#next-button").addClass('disabled') $("#next-button").attr('data-toggle', 'tooltip') $("#next-button").attr('data-placement', 'left') $("#next-button").attr('title', txtTestRequired) $("#next-button").tooltip() return false; } } $(document).ready(function() { // Add tooltips $('[data-toggle="tooltip"]').tooltip() // On server test button click $("#serverTest").click(function() { // Check HTML5 form validation before testing server if (!$("form").get(0).reportValidity()) { return false; } $('#serverTest').attr('aria-busy', 'true'); $('#serverResponse').html(txtChecking); $.ajax({ type: 'POST', url: "../api?mode=config&name=test_server&output=json", data: $("form").serialize(), success: function(result) { // Escape the server-supplied message before inserting it as HTML var message = $('