根据您来自的链接预先选择表单上的选项?

时间:2015-03-28 09:17:25

标签: javascript php jquery

所以,我在表单中有一个日,月和年选择选项。该页面名为new.php,与其关联的页面为event.php?d=1&m=1&y=2015

因为它来自该链接我希望选择选项在相应的日期(2015年1月1日)。

非常感谢任何帮助

3 个答案:

答案 0 :(得分:1)

<?php
    $day = $_GET['d'];
    $month = $_GET['m'];
    $year = $_GET['y'];

    $date = date('Y-m-d', strtotime($day . $month . $year));
?>

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

答案 1 :(得分:0)

一种方法是查看$ _SERVER [&#39; HTTP_REFERRER&#39;]变量并使用parse_url()函数很好地解析url并从那里获取查询变量,然后将它们用作你的表单元素中的值。但就像考克斯在评论中提到的那样,它有点不可靠,因为它是由客户设定的。

另一种方法是在event.php页面上设置一个或三个会话变量,如下所示:

$_SESSION['d'] = $_GET['d'];
$_SESSION['m'] = $_GET['m'];
$_SESSION['y'] = $_GET['y'];

然后在new.php文件中,您开始使用会话变量作为表单元素中的值。不要忘记在session_start()的两个页面上开始会话。

答案 2 :(得分:0)

如果您可以使用客户端脚本(我建议使用jQuery),那么您可以使用显示正确数据的选择框。

根据URL字符串变量设置三个JavaScript变量。 然后在文档就绪时使用JavaScript / jQuery将选择框设置为JavaScript变量..

<?php
  $day = $_GET['d'];
  $month = $_GET['m'];
  $year = $_GET['y'];

  echo "<script type='text/javascript'>";
  echo "$(function() {";
  echo "$('#day').val(".$day.");"
  echo "$('#month').val(".$month.");"
  echo "$('#year').val(".$year.");"
  echo "});"
  echo "</script>"              
?>

然后使用带有ID的select语句,以便jQuery可以更新DOM中的正确元素。

 <select id="day">
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
 </select>

等...其余时间,然后是月选择器和年选择器的正确ID。