私の問題はオプションの値です
<option selected="selected" disabled="disabled">Select a city...</option>
。問題は次のとおりです。このオプションには値がありませんが、phpコードはその値を*'都市を選択'*と見なします。したがって、都市が選択されていなくても、私のコードif(isset($_POST['city'])
は常にtrueを返します。どうすればこれを解決できますか?
ここにhtmlコードがあります:
<form id="city_form">
<select id="city" name="city">
<option selected="selected" disabled="disabled">Select a city...</option>
<option value=1 name="city1">City 1</option>
<option value=2 name="city2">City 2</option>
<option value=3 name="city3">City 3</option>
<option value=4 name="city4">City 4</option>
</select>
<input type="submit" value="Submit form" id="submit_button" />
</form>
<div id="show_city"></div>
これがjqueryコードです:
$('#submit_button').click(function(e) {
e.preventDefault();
var data = $('#city_form').serialize();
$.post(
"fetch_city.php",
data,
function (response) {
$('#show_city').html(response);
}
);
});
これがfetch_city.phpです:
if (isset($_POST['city']) && !empty($_POST['city'])) {
$city_id = $_POST['city']);
echo $city_id;
} else {
echo "You did not select a city...!";
}