【问题标题】:Keeping selected value in dropdown list after refreshing page刷新页面后将所选值保留在下拉列表中
【发布时间】:2015-05-05 16:09:21
【问题描述】:

您好,我试图在刷新页面后将所选值保留在我的下拉列表中。

这是我的代码。

<form action="" method="post">
    <select name="location[]" onchange='this.form.submit()'>
        <option name="500" <?php echo ($_POST['location'] == '500') ? ' selected="selected"' : ''; ?> value="500">DE (19% MwSt)</option>
        <option name="100" <?php echo ($_POST['location'] == '100') ? ' selected="selected"' : ''; ?> value="100">IT (22% MwSt)</option>
        <option name="1500" <?php echo ($_POST['location'] == '1500') ? ' selected="selected"' : ''; ?> value="1500">CH (0% MwSt)</option>
    </select>
    <noscript><input type="submit" value="Submit"></noscript>
</form>     

但这不起作用。 如果我删除选择名称中的[],则刷新页面后会保存所选值,但表单不再起作用。 如果我将[] 添加到$_POST['location'],则刷新后不会保存所选值。 有什么建议吗?谢谢

【问题讨论】:

    标签: php html select


    【解决方案1】:

    不是解决方案,而是替代方法。

    如果您使用 AJAX 提交表单会怎样。您无需在提交时刷新页面(假设这是您的问题),这样您就不需要刷新页面。

    我建议为此使用 jquery。如果您需要,我可以为您提供示例。

    为了使用 ajax 提交您的数据,您需要在 html 中包含 Jquery。 Jquery

    现在你可以做这样的事情了。

    $("#submit").click(function(){
    //When element with id=submit is clicked execute this code
        $.ajax({
            Type:"POST",
            url: "yourphpfile.php",
            //at data: You can add your own strings
            data: {Data: "The data you want to send"},
            success: function(){
                //this gets executed when ajax succeeds
                alert("great succes");
            }
        });
    });
    

    您可以使用 $_POST 访问 PHP 中的数据

    $String = $_POST['Data'];
    

    在这种情况下,它将是:“您要发送的数据”。

    我希望这能让你开始。

    【讨论】:

    • 我对这些东西完全不感兴趣。那将如何运作?你有那个例子的代码吗?
    • 我假设你想将数据发送到一个 php 文件?
    • 不,我只想提供有关当前站点的信息。表单正在工作,只是变量没有保存在下拉列表中。刷新后一直跳回第一个。
    • 如果您只想加载当前首选项,您应该从数据库中加载它,或者使用某种本地存储,例如 cookie。
    • 不,这对我没有帮助。我只想将所选值保存在会话中,并且所选值+结果不会在页面刷新时重新加载。最好的办法是完整的 div 保存在表单和结果所在的会话中。
    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2021-02-04
    • 2021-03-05
    • 2018-10-31
    • 2014-08-19
    • 1970-01-01
    相关资源
    最近更新 更多