2

在我的页面上,我有两个下拉框:一个用于日期列表,一个用于选项。日期框填充如下:

echo "<form name='selectedDate' action='page.php' method='GET' class='auto-style1'>";
echo "<select name='date' onchange='this.form.submit()'>";
echo "<option value=select>Select a Date</option>";
while ($row = mysql_fetch_array($result))
{
    $date = date("m-d-Y",strtotime($row['date']));

    if($date==date("m-d-Y"))
    {
        echo "<option>TODAY</option>";
    }
    else
    {
        echo "<option>" . $date . "</option>";
    }
}
echo "</select>";

echo "<br />";          
echo "<noscript>";
echo "<input type='submit' value='Select'>";
echo "</noscript>";
echo "</form>";

另一个下拉列表填充为:

echo "<form name='selectedFormat' action='page.php' method='GET' class='auto-style1'>";
echo "<select name='option' onchange='this.form.submit()'>";
echo "<option value=select>Select a Option</option>";
echo "<option value=Artist>Artist</option>";
echo "<option value=Song>Song</option>";
echo "</select>";

echo "<br />";          
echo "<noscript>";
echo "<input type='submit' value='Select1'>";
echo "</noscript>";
echo "</form>";

现在,您注意到它们都已为Submit()更改做好了准备。如果我更改第一个,浏览器中的 URL 变为page.php?date=02-26-2013,如果我更改第二个,浏览器中的 URL 将变为page.php?option=Song

我遇到的问题是,如果我将 更改date为较旧的日期,然后更改option,我的页面将恢复为date当前日期。我尝试将操作设置为不同的 URL:

$url = "musicInfo.php?date=" .  $nonFormatedDate . "&option=" . $option;

我将两种形式都更改为:

echo "<form action='" . $url . "' method='GET' class='auto-style1'>"; 

如果 I echo $url;,它会正确显示浏览器 URL 应该是什么。但是,浏览器 URL 仍然由我最后使用的下拉列表填充。

我的问题是,如何在任一提交时传递两个变量?

因此,例如,如果我将 更改date01-13-2012,然后将 更改optionSong,我如何确保date将也通过?反之亦然。或者,如果我将日期更改为01-12-2012,是否可以date在重新加载时选择下拉框?

我想做的网站:http: //www.legendary-immersion.com/random/test.php

4

1 回答 1

1

正如人们在评论中所说,每个请求只能提交一份表格。因此,最好的方法是在表单中隐藏您需要的数据。

在您的 php 文件中添加此代码

$date = isset($_GET["date"]) ? $_GET["date"] : "";
$option = isset($_GET["option"]) ? $_GET["option"] : "";

然后在第一种形式中添加

<input type="hidden" name="option" value="<?php echo $option; ?>"/>

并在第二种形式中添加

<input type="hidden" name="date" value="<?php echo $date; ?>"/>

作为每个表单提交的结果,您将获得类似的 url

page.php?date=yourdate&option=youroption

最好的问候,希望这会有所帮助

于 2013-02-27T13:20:48.150 回答