我有一张带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,没有别的。感谢
答案 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的操作并不完全清楚,但您也可以在点击按钮时附加事件处理程序。