2016-07-04 50 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做什麼,但你也可以在單擊按鈕時附加事件處理程序。