-1

我的 php 代码中有一个下拉列表。在使用提交按钮提交页面后,我试图让值保持选中状态(表单操作调用另一个 php 脚本,但是下面的代码块与表单位于相同的 php 脚本中)。我试过这个,但它没有做我需要的。任何建议都会有所帮助。

//getting value from database
$dropDownVal=$row['player'];
////
echo "<td bgcolor=#7FFF00><select name='DropDown".$row['_id']."' >;
<option value=\"1\"  if ($dropDownVal==1) selected=\"selected\">Select </option>;
<option value=\"2\"  if ($dropDownVal==2) selected=\"selected\">Johnson</option>;
<option value=\"3\"if ($dropDownVal==3) selected=\"selected\">Reed</option>;
<option value=\"4\"if ($dropDownVal==4) selected=\"selected\">Suggs</option>;
<option value=\"5\"if ($dropDownVal==5) selected=\"selected\">Flacco</option>;
<option value=\"6\"if ($dropDownVal==6) selected=\"selected\">Rice</option>;
</select>";
4

2 回答 2

3

克里斯基本上是正确的。

POST如果您以使用变量的形式提交。

然后,如果您随后修改了设置$dropDownVal为使用$_POST变量的逻辑,您应该得到您想要的:

如果您通过 提交表单GET,只需将所有引用更改$_POST$_GET

以下是单个页面中供参考的完整代码:

<html>
<head></head>
<?php
if (!empty($_GET['Dropdown'])) {
    $dropDownVal = $_GET['Dropdown'];
} else {
    $dropDownVal = 1;
}
?>
<form method="get" action="testing.php">
    <select name="Dropdown" >;
        <option value="1" <?php if ($dropDownVal==1) echo 'selected="selected"'; ?>>Select </option>;
        <option value="2" <?php if ($dropDownVal==2) echo 'selected="selected"'; ?>>Johnson</option>;
        <option value="3" <?php if ($dropDownVal==3) echo 'selected="selected"'; ?>>Reed</option>;
        <option value="4" <?php if ($dropDownVal==4) echo 'selected="selected"'; ?>>Suggs</option>;
        <option value="5" <?php if ($dropDownVal==5) echo 'selected="selected"'; ?>>Flacco</option>;
        <option value="6" <?php if ($dropDownVal==6) echo 'selected="selected"'; ?>>Rice</option>;
    </select>
    <input type="submit" name="submit" value="Submit Form" />
</form>
</html>
于 2012-12-10T03:38:06.993 回答
0

这是一个自提交脚本,即相同的代码呈现表单以供填写并处理提交?在提交方面,您必须阅读适当的 GET 或 POST 参数,因为变量在提交之前不只是挂在它们的值上。相反,提交端是从第一行重新执行的脚本,没有分配任何变量。

于 2012-12-10T03:19:37.943 回答