带提交按钮的下拉列表跳转页面PHP实现故障排查求助
下拉跳转列表的问题修正方案
你的代码存在几个关键问题,导致点击提交无响应,逐一修正如下:
问题1:HTML结构错误
<form>标签被错误嵌套在<select>内部,表单无法正确识别控件,需要将<select>放到<form>标签内部。
问题2:下拉框被禁用
<select>设置了disabled="true",导致用户无法选择选项,提交时也无法传递dropdown参数,必须移除这个属性。
问题3:PHP switch语法错误
每个case块后错误添加了闭合花括号,导致代码语法解析失败,无法执行跳转逻辑。
修正后的完整代码
<form method="post" action="?"> <select id="dropdown1" name="dropdown"> <option disabled selected>---Select Web---</option> <option value="1">YouTube</option> <option value="2">Google</option> <option value="3">Facebook</option> </select> <input type="submit" value="SELECT"> </form> <?php if(isset($_POST['dropdown'])){ // 先判断是否有提交参数,避免未提交时报错 switch ($_POST['dropdown']) { case "1": echo "<script> location.href='https://www.youtube.com';</script>"; exit; case "2": echo "<script> location.href='https://www.google.com';</script>"; exit; case "3": echo "<script> location.href='https://www.facebook.com';</script>"; exit; } } ?>
额外优化:添加isset($_POST['dropdown'])判断,避免页面初次加载时因$_POST['dropdown']不存在而抛出警告。
内容的提问来源于stack exchange,提问作者DTech
相关产品推荐
相关产品推荐

