diff --git a/application/models/Stations.php b/application/models/Stations.php index f1447b9a..fca74f7c 100644 --- a/application/models/Stations.php +++ b/application/models/Stations.php @@ -75,12 +75,8 @@ class Stations extends CI_Model { $station_active = 1; } - // Check if the state is Canada and get the correct state - if ($this->input->post('dxcc') == 1 && $this->input->post('station_ca_state') !="") { - $state = xss_clean($this->input->post('station_ca_state', true)); - } else { - $state = xss_clean($this->input->post('station_state', true)); - } + // Get the state value from the form + $state = xss_clean($this->input->post('station_state', true)); // Create data array with field values $data = array( @@ -129,16 +125,10 @@ class Stations extends CI_Model { function edit() { - // Check if the state is Canada and get the correct state - if ($this->input->post('dxcc') == 1 && $this->input->post('station_ca_state') !="") { - $state = xss_clean($this->input->post('station_ca_state', true)); - } else { - $state = xss_clean($this->input->post('station_state', true)); - // log as an error the value of state - log_message('error', 'State value: ' . $state); - } - - log_message('error', 'State value: ' . $this->input->post('station_state', true)); + // Get the state value from the form + $state = xss_clean($this->input->post('station_state', true)); + + log_message('error', 'State value: ' . $state); $data = array( 'station_profile_name' => xss_clean($this->input->post('station_profile_name', true)), diff --git a/assets/js/sections/station_locations.js b/assets/js/sections/station_locations.js index 8568a096..fb731f7f 100644 --- a/assets/js/sections/station_locations.js +++ b/assets/js/sections/station_locations.js @@ -45,7 +45,8 @@ $(document).ready( function () { }; // Hide all states initially - $("#canada_state, #aland_state, #asiatic_russia_state, #belarus_state, #mexico_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #us_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state, #nz_state, #belgium_state, #italy_state, #netherlands_state").hide(); + $("#canada_state, #aland_state, #asiatic_russia_state, #belarus_state, #mexico_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #us_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state, #nz_state, #belgium_state, #italy_state, #netherlands_state").hide(); + /** * Gets the selected DXCC ID and shows the corresponding state. */ @@ -69,9 +70,21 @@ $(document).ready( function () { var stateToShow = stateMap[selectedValue] || stateMap['default']; // Hide all states - $("#mexico_state, #belarus_state, #asiatic_russia_state, #aland_state, #canada_state, #us_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state, #nz_state, #belgium_state, #italy_state, #netherlands_state").hide(); + $("#mexico_state, #belarus_state, #asiatic_russia_state, #aland_state, #canada_state, #us_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state, #nz_state, #belgium_state, #italy_state, #netherlands_state").hide(); // Show the selected state $("#" + stateToShow).show(); }); + + /** + * Form submission handler to ensure only visible state value is submitted + */ + $('form[name="create_profile"]').on('submit', function() { + // Clear all hidden state dropdown values before submission + $("#mexico_state, #belarus_state, #asiatic_russia_state, #aland_state, #canada_state, #us_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state, #nz_state, #belgium_state, #italy_state, #netherlands_state").each(function() { + if ($(this).is(':hidden')) { + $(this).find('select[name="station_state"]').val(''); + } + }); + }); } );