2016-07-04 79 views
0

我有一个20个按钮的表格。我想分配一个php变量与我按下的按钮相同的值,我认为这很容易,但现在已经两个小时没有成功。需要帮助根据我按哪个按钮分配一个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,没有别的。谢谢

+0

php在服务器上运行,按钮在客户端上。您不能使用客户端代码将任何指定给php变量。你需要提交一个表单(直接或者通过ajax)并且让一些服务器端代码处理这个提交。 –

回答

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']; 
?> 
0

您通常保持按钮上的名称属性与您所做的一样,但改变值。

没有看到表格的其余部分,您可能会将整个表格也包裹在表格标签中。

<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做什么,但你也可以在单击按钮时附加事件处理程序。