2

我已经用提交输入以一种形式成功声明并加载了两个下拉菜单。

<form action="index.php" method="post">
<select name="sel1">
<?php //dynamically load options ?>
</select><br>

<select name="sel2">
<?php 
$opt1= (isset($_POST['sel1'])? $_POST['sel1'] : null);
$Arr = array();
if ($opt1 != null){//loads options into $Arr}
foreach($Arr as $option)
{
    if($option== $_POST['sel2']){
        echo "<option selected='$selected'>{$option}</option>";    
    }
    else{
        echo "<option>{$option}</option>";
    }
}
?>

</select>
<input type="Submit" value="Submit"/>
</form>
<?php
$var1 = (isset($_POST['sel1'])? $_POST['sel1'] : null);
$var2 = (isset($_POST['sel2'])? $_POST['sel2'] : null);
?>

我为 sel1 选择一个选项并单击提交,然后sel2根据选择的sel1. 然后我选择sel2并单击提交。PHP 脚本会根据选择进行一些处理。

但是$_POST只能从 sel1 中获取值,$var2总是null. 关于我哪里出错的任何想法?

4

1 回答 1

1

$Arr 是一个空数组。因此,基本上每次单击提交时,应该填充 sel2 的 php 代码都无法按预期工作。您需要在此行之后将您的选项添加到 $Arr :

$Arr = array();
于 2013-06-03T18:17:07.393 回答