我有一个显示第二个下拉菜单值的小脚本。仅当我发布值时,菜单的第一项才会显示给 PHP 脚本。怎么了?
.HTML:
<head>
<script type='text/javascript'>//<![CDATA[
function fctCheck(food) {
var elems = document.getElementsByName("subselector");
for (var i = 0; i < elems.length; i++) {
elems.item(i).style.display = "none";
}
document.getElementById(food).style.display = "block";
}//]]>
</script>
</head>
<body>
<form action="test.php" method="post">
<select id="food" onchange="fctCheck(this.value);">
<option value="keuze">Choose option</option>
<option value="Alanya Gazipasa Airport (GZP)">Alanya Gazipasa Airport (GZP)</option>
<option value="Antalya Airport (AYT)">Antalya Airport (AYT)</option>
</select><br>
<select id="keuze" name="subselector" disabled style="width: 120px;">
<option value="vanilla">Choose option</option>
</select>
<select id="Alanya Gazipasa Airport (GZP)" name="subselector" style="display:none; width: 120px;">
<option>Alanya Avsallar</option>
<option>Alanya Cikcilli</option>
<option>Alanya Demirtas</option>
<option>Alanya Kargijak</option>
<option>Alanya Kestel</option>
</select>
<select id="Antalya Airport (AYT)" name="subselector" style="display:none; width: 120px;">
<option>Alanya Avsallar</option>
<option>Alanya Cikcilli</option>
<option>Alanya Demirtas</option>
<option>Alanya Incekum</option>
</select><br>
<input type="submit">
</form>
</body>
.PHP:
<?php
$value = $_POST['subselector'];
echo "$value";
?>
不能有两个同名的表单元素。一个会写另一个。您需要为每个它们提供一个唯一的名称,然后在 PHP 中通过该唯一名称访问它们。
无需更改名称,因为您想要名称选择器,您必须禁用不相关的选择框,因为如果我隐藏该元素,但它被执行没有显示使用
试试这个它工作正常
<script type='text/javascript'>//<![CDATA[
function fctCheck(food) {
var elems = document.getElementsByName("subselector");
for (var i = 0; i < elems.length; i++) {
elems.item(i).style.display = "none";
elems.item(i).disabled = true;
}
document.getElementById(food).style.display = "block";
document.getElementById(food).disabled = false;
}
</script>