我正在尝试创建一个表单,向用户显示一个选项下拉列表(该列表将用于选择公司中的一个部门),然后一旦他们做出选择并点击提交,就会在同一页面会出现一个新的下拉列表,用于选择工作人员。这些员工将只属于选定的部门。一旦他们选择了员工并点击提交,就会打开一个新页面,其中包含该员工的详细信息。
我遇到的问题是如何在第一个选择完成后使第二个选择出现在同一页面上。
这是我正在使用的代码。这让我得到了第一个下拉列表,它从相关数据库表中提取部门列表并填充下拉列表。我需要有关如何使用提交按钮来获取下一个下拉列表的帮助:
<form action="<WHAT DO I PUT HERE?>" method="post">
<Name='deptselect'>
<select name="deptselect">
<?php
$SQL="SELECT name_of_dept FROM department where ID >= '1'";
$result = mysql_query($SQL);
while ($sqlrow=mysql_fetch_array($result))
{
$sqldept=$sqlrow["name_of_dept"];
echo "<option>
$sqldept
</option>";
}
?>
</select>
最佳答案
在 HTML5 中,您可以将 action
属性保留在 form
元素之外,它将提交到同一页面。
至于处理用户所处的步骤,可能建议使用隐藏的表单元素来跟踪操作。像这样的事情:
<form>
<!-- All other form data here -->
<input type="hidden" name="status" value="1">
</form>
然后,您可以在用户执行步骤时从逻辑上找出/更新状态。也许是一个简单的 switch
语句来显示适当的下拉菜单。也许是这样的:
switch ($_POST['status']) {
case 1: // Step 1 of the form
break;
case 2: // Step 2 of the form...and so on
break;
}
关于php - 使用 php 在一页上实现多阶段表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897892/