首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试发送不工作按钮的值

尝试发送不工作按钮的值
EN

Stack Overflow用户
提问于 2014-03-23 15:24:11
回答 4查看 56关注 0票数 0

基本上,我有一页按钮,每个按钮都保存日期(从MySQL DB检索)

看起来是这样的:

代码语言:javascript
运行
复制
23 March 2014
22 March 2014

诸若此类。

我想用该按钮传递一个值,所以当用户单击按钮(使用onclick (此项目仅供我自己使用)时,它会将它们带到显示该工作日相关数据的页面。

我试过使用一个隐藏的字段,但这似乎不起作用。我尝试过在按钮元素本身上使用值,但也没有效果。我试过的东西似乎都没有用。我的代码如下:

代码语言:javascript
运行
复制
        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“页面上(单击按钮后也会发送该页面),我有:

代码语言:javascript
运行
复制
    $olddate = $_GET['WantedDate'];

    echo $olddate;

这不会产生任何结果。

基本上,我需要一个解决方案,其中每个按钮可以包含一个唯一的值,所以下一页可以使用它从数据库读取它。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-23 15:57:27

有几种方法可以做到这一点。如其他人所说,你可以提交表格。要做到这一点,您需要稍微修改代码并使用<input type="submit">

代码语言:javascript
运行
复制
<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>

请注意:

  1. 您只需要使用一个表单元素。您发布的代码实际上会为每个按钮打印一个完整的表单。这没必要。
  2. PHP也是一种模板语言。您可以进出它,而不需要使用echo打印所有HTML。

另一种方法是将日期附加到URL,然后使用链接。

代码语言:javascript
运行
复制
  <?php for($i = 0; $i < $res; $i ++){ ?>

    <p>
        <a href="view.php?WantedDate=<?php print $myArray[$i]; ?>">
           <?php print $myArray[$i]; ?>
        </a>
    </p>

  <?php } ?>
票数 0
EN

Stack Overflow用户

发布于 2014-03-23 15:43:17

你需要这样做

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
$date = $_GET['date'];

echo $date;
票数 1
EN

Stack Overflow用户

发布于 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]'\",您可以去掉其他东西(valuename),因为它们不会对div做任何事情。此外,您可能会丢失隐藏的输入元素。

您的表单还有其他错误,您在关闭div之前关闭表单,这似乎是一种合乎逻辑的操作(这就是您开始的方式,对吗?)但是HTML并不是那样工作的,它应该是

代码语言:javascript
运行
复制
  echo "<form [...]>";
  echo "<div [..]>";
  [...]
  echo "</div>";
  echo "</form>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22592828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档