刷新页面后,在下拉列表中保留选定的值

时间:2015-03-04 15:32:31

标签: php html select

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

这是我的代码。

<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'],则刷新后不会保存所选的值。 有什么建议?感谢

1 个答案:

答案 0 :(得分:0)

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

如果您使用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'];

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

我希望这能让你开始。