Php <;所选选项=";精选&燃气轮机;文本</选项>;尽管没有值,但始终返回一个值

Php <;所选选项=";精选&燃气轮机;文本</选项>;尽管没有值,但始终返回一个值,php,jquery,html,option,Php,Jquery,Html,Option,我的问题是期权价值 选择一个城市… 问题是:尽管此选项没有值,php代码将其值视为*“选择一个城市”*。因此,我的代码if(isset($\u POST['city'])即使未选择城市也会返回true。我如何解决这个问题 以下是html代码: <form id="city_form"> <select id="city" name="city"> <option selected="selected" disabled="disabled">Se

我的问题是期权价值
选择一个城市…

问题是:尽管此选项没有值,php代码将其值视为*“选择一个城市”*。因此,我的代码
if(isset($\u 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>
这里是fetch\u city.php:

if (isset($_POST['city']) && !empty($_POST['city'])) {

  $city_id = $_POST['city']);
  echo $city_id;

} else {
  echo "You did not select a city...!";
}

不能。给它一个有意义的sentinel
,如果该值出现,则忽略该控件

<option selected="selected" disabled="disabled" value="">Select a city...</option>
选择一个城市。。。

你不能。给它一个有意义的sentinel
值,如果该值出现,则忽略该控件

<option selected="selected" disabled="disabled" value="">Select a city...</option>
选择一个城市。。。

我认为这里的答案是jquery忽略第一个选项中的禁用项。请尝试删除selected=“selected”和disabled=“disabled”从这里,您将看到一个空白的第一个条目。提交表单时,您的isset应返回false。

我认为这里的答案是jquery忽略第一个选项中的禁用项。请尝试删除selected=“selected”和disabled=“disabled”从这里。您现在将看到一个空白的第一个条目。提交表单时,您的isset应返回false。

fyi
!empty
意味着
isset
,因此如果您测试
,您就不会
isset
!empty
和$city\u id=(int)$\u POST['city'])将不会有任何用处。fyi
!空
意味着
isset
,因此如果您测试
,您就不会
isset
!空的
和$city\u id=(int)$\u POST['city'])不会无用。原因是如果选项没有
属性,则其内部的文本将用作
。原因是如果选项没有
属性,其中的文本用作