// Method called to add a spot to the server function addSpot() { try { // Save settings (this will save "your call" for future use) saveSettings(); // Unpack the user's entered values var dx = $("#dx-call").val().toUpperCase(); var freqStr = $("#freq").val(); var mode = $("#mode").val().toUpperCase(); var comment = $("#comment").val(); var de = $("#de-call").val().toUpperCase(); var spot = {} if (dx != "") { spot["dx_call"] = dx; } else { showAddSpotError("A DX callsign is required in order to spot."); return; } if (freqStr != "") { spot["freq"] = parseFloat(freqStr) * 1000; } else { showAddSpotError("A frequency is required in order to spot."); return; } if (mode != "") { spot["mode"] = mode; } if (comment != "") { spot["comment"] = comment; } if (de != "") { spot["de_call"] = de; } spot["time"] = moment.utc().valueOf() / 1000.0; $.ajax("/api/v1/spot", { data : JSON.stringify(spot), contentType : 'application/json', type : 'POST', timeout: 10000, success: async function (result) { $("#result-good").html(""); setTimeout(() => { $("#result-good").hide(); window.location.replace("/"); }, 1000); }, error: function (result) { showAddSpotError(result.responseText.slice(1,-1)); } }); } catch (error) { showAddSpotError(error); } return false; } // Show an "add spot" error. function showAddSpotError(text) { $("#result-bad").html("