You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交表单后如何保留name为betalingsmethode的下拉菜单选中值?

解决下拉菜单提交后保留选中选项的问题

嘿,我来帮你搞定这个问题!你之前用复选框的方法没用,是因为下拉菜单的表单参数逻辑和复选框不一样~

问题根源

你原来的判断是<?php if(isset($_POST['visa'])) echo "selected='selected'"; ?>,但你的下拉菜单name是betalingsmethode,用户选中的选项值会存在$_POST['betalingsmethode']里,而不是$_POST['visa'],所以这个判断自然不会生效。

正确的实现方式

我们需要先获取提交的付款方式值,然后在每个<option>标签里判断当前选项的value是否和提交的值一致,一致就加上selected属性。

给你一个完整的示例片段:

<!DOCTYPE html> 
<html lang="nl"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>示例表单</title>
</head>
<body>
    <form method="post" action="">
        <!-- 下拉菜单 -->
        <select name="betalingsmethode" class="dropdown">
            <?php
                // 获取提交的付款方式,默认空值避免Undefined index错误
                $selectedMethod = isset($_POST['betalingsmethode']) ? $_POST['betalingsmethode'] : '';
            ?>
            <option value="visa" <?php echo ($selectedMethod == 'visa') ? 'selected="selected"' : ''; ?>>Visa</option>
            <option value="mastercard" <?php echo ($selectedMethod == 'mastercard') ? 'selected="selected"' : ''; ?>>Mastercard</option>
            <option value="paypal" <?php echo ($selectedMethod == 'paypal') ? 'selected="selected"' : ''; ?>>PayPal</option>
        </select>
        <button type="submit">提交</button>
    </form>
</body>
</html>

关键点解释

  • 先通过isset($_POST['betalingsmethode'])判断表单是否提交,把用户选中的选项值存到$selectedMethod变量里,避免未提交时出现Undefined index错误。
  • 每个<option>标签里用三元运算符判断:如果当前选项的value和$selectedMethod相等,就输出selected="selected",这样表单提交刷新后,就能自动保留用户之前选中的选项了。

这样修改后,你的下拉菜单就能正常记住用户的选择啦~

内容的提问来源于stack exchange,提问作者Maurice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:09:27