$(document).ready(function () { // periodically check for server status updates $('.serverItem').each(function() { setInterval(updateServer, 5000, $(this)); }); // set the serverName input field to check if the server exists $('input#serverName').on('change', checkServerExists); }); function updateServer(elem) { var serverName = elem.data('server-name'); $.get('/server/' + serverName + '/status', function(data, state) { elem.children('.serverState').eq(0).text(data.state); }); } function checkServerExists() { $.get('/server/' + $(this).val() + '/status', function(data, state) { if (data.exists) { $('input#createSubmit').prop('disabled', true); alert('That server name is already used; please use another name!'); } else { if ($('input#createSubmit').prop('disabled')) { $('input#createSubmit').prop('disabled', false); } } }); }