需要帮助根据我按下的按钮分配php变量

时间:2016-07-04 19:39:48

标签: php html forms

我有一张带20个按钮的桌子。我想给一个php变量分配与我按下的按钮相同的值,我觉得这很容易,但现在已经两个小时没有成功了。

      foreach ($soccerseason->getTeams() as $team) {
          if (($i % $number_per_row) == 0) {
              echo '<tr>';
          }
          ?>
        <td style="background-image:url(<?php echo $team->crestUrl ?>);background-position: 50% 50%;background-repeat:no-repeat;background-size:100px 100px;   width: 110px; height: 110px;">
          <form action="JavaScript: showQuiz()" method="post" value="<?php echo $team->name ?>">
              <button class="tableButton" value="<?php echo $team->name ?>"style="width:110px; height:110px"></button>
          </form>
        </td>
        <?php
        if (($i % $number_per_row) == $number_per_row - 1) {
            echo '</tr>';
        }
          $i = $i + 1;
      }

说我想回应我按下的按钮的价值 - 你会怎么做? javascript的功能目前是隐藏/显示不同的div,没有别的。感谢

2 个答案:

答案 0 :(得分:0)

一个解决方案是让按钮调用一个Javascript函数,它使用JQuery的ajax请求来做你想在PHP中做的任何事情,并让PHP输出名称,Javascript将收到它,并更改div,或者跨越。我认为代码看起来像这样(在Javascript中):

function ajaxRequest(buttonName){
    var data = "name=" + buttonName;
    $.ajax({
        url: "showPHP.php",
        type: "post",
        data: data
    }).done(function(data){
        document.getElementById("currentButtonSelectedDiv").innerHtml = data;
    });
}

我很确定您可能需要其他一些标志,但这是javascript的基础知识。 PHP看起来像这样:

<?php
// Your php stuff
echo $_POST['name'];
?>

答案 1 :(得分:0)

您通常会将按钮上的name属性与您所使用的相同,但会更改该值。

如果没有看到表的其余部分,您也可以将整个表包装在表单标记中。

<form method="post" action="readValue.php">
...
  <button type="submit" name="teamName" value="team1">team1</button>
  <button type="submit" name="teamName" value="team2">team2</button>
  <button type="submit" name="teamName" value="team3">team3</button>
...
</form>

回发数据时,请从$ POST变量中读取teamName值。

<?php
  $teamName = $POST["teamName"];

您对javascript的操作并不完全清楚,但您也可以在点击按钮时附加事件处理程序。