所以我的问题是: 我正在做一个foreach循环,它会生成一个链接列表。每个链接都有JavaScript,它提交表单。但是,我希望将一个变量附加到EACH链接,以便我可以获取$ _POST变量以查看已单击的WHICH链接。
我尝试了一个foreach循环,然后是:
foreach ($matches as $match) {
?>
<div class="containerbla">
<form>
<h3><a href="javascript:{}" onclick="document.getElementById('matchesform').submit(); return false;"><?php echo $match->name?></a></h3>
<?php echo $match->id; ?>
<input type="hidden" name="matchid" value="<?php echo $match->id; ?>">
</form>
</div>
<?php
}
它在下面显示正确的用户名列表和正确的用户ID。但是当我点击用户时,我总是在提交给我的view-messages php的隐藏字段中获得最新用户ID。
我该如何解决?
答案 0 :(得分:1)
foreach ($matches as $key=>$match) { ?>
<div class="containerbla">
<form>
<h3><a href="javascript:{}" onclick="var poop = document.getElementById('matchesform'); poop.insertAdjacentHTML('<input type=\"hidden\" name=\"poop\" value=\"<?php echo $key; ?>\"/>'); poop.submit(); return false;"><?php echo $match->name?></a></h3>
<?php echo $match->id; ?>
<input type="hidden" name="matchid" value="<?php echo $match->id; ?>">
</form>
</div>
<?php
}
然后,您将能够使用$matches[$_POST['poop']];
我看到您已经创建了一个新的输入,但是您没有将其设置为正确的形式,这就是为什么它没有被提交。