基本上,我有一页按钮,每个按钮都保存日期(从MySQL DB检索)
看起来是这样的:
23 March 2014
22 March 2014诸若此类。
我想用该按钮传递一个值,所以当用户单击按钮(使用onclick (此项目仅供我自己使用)时,它会将它们带到显示该工作日相关数据的页面。
我试过使用一个隐藏的字段,但这似乎不起作用。我尝试过在按钮元素本身上使用值,但也没有效果。我试过的东西似乎都没有用。我的代码如下:
        for($i = 0; $i < $res; $i ++)
        {
            echo "<form method=\"get\" action=\"view.php\">";
            echo "<div class=\"button date\" value=\"$myArray[$i]\" onclick=\"window.location='view.php'\" name=\"button\">";
            echo "<p> $myArray[$i] </p>";
            echo "<input type=\"hidden\" value=\"$myArray[$i]\" name=\"WantedDate\">";
            echo "</form>";
            echo "</div>";
        }    ($myArray$i持有日期)
然后在"view.php“页面上(单击按钮后也会发送该页面),我有:
    $olddate = $_GET['WantedDate'];
    echo $olddate;这不会产生任何结果。
基本上,我需要一个解决方案,其中每个按钮可以包含一个唯一的值,所以下一页可以使用它从数据库读取它。
谢谢
发布于 2014-03-23 15:57:27
有几种方法可以做到这一点。如其他人所说,你可以提交表格。要做到这一点,您需要稍微修改代码并使用<input type="submit">。
<form method="get" action="view.php">
  <?php for($i = 0; $i < $res; $i ++){ ?>
    <p><input type="submit" name="WantedDate" value="<?php print $myArray[$i]; ?>"></p>
  <?php } ?>
</form>请注意:
另一种方法是将日期附加到URL,然后使用链接。
  <?php for($i = 0; $i < $res; $i ++){ ?>
    <p>
        <a href="view.php?WantedDate=<?php print $myArray[$i]; ?>">
           <?php print $myArray[$i]; ?>
        </a>
    </p>
  <?php } ?>发布于 2014-03-23 15:43:17
你需要这样做
echo "<div class='button date' value='".$myArray[$i]."' onclick=window.location='view.php?date='".$myArray[$i]."' name='button'>";或者您可以使用location.href='view.php?date='".$myArray[$i]."'
然后进去
view.php
$date = $_GET['date'];
echo $date;发布于 2014-03-23 15:36:13
摆脱onclick=\"window.location='view.php'\"。您正在告诉浏览器,此时有人单击它应该重定向到view.php的按钮,它不会提交表单。
将其转换为type=\"submit\",让浏览器提交表单。
更新:
对不起,你说‘我基本上有一页按钮’,所以我想应该是一个按钮。我看到你在尝试用div创建一个按钮。这是行不通的,因为div从未被设计为用作表单元素。
将onclick=\"window.location='view.php'\"转换为onclick=\"window.location='view.php?WantedDate=$myArray[$i]'\",您可以去掉其他东西(value和name),因为它们不会对div做任何事情。此外,您可能会丢失隐藏的输入元素。
您的表单还有其他错误,您在关闭div之前关闭表单,这似乎是一种合乎逻辑的操作(这就是您开始的方式,对吗?)但是HTML并不是那样工作的,它应该是
  echo "<form [...]>";
  echo "<div [..]>";
  [...]
  echo "</div>";
  echo "</form>";https://stackoverflow.com/questions/22592828
复制相似问题