Php 单击按钮时从表中获取值
我有一张表,上面显示了一些值。每行有一个订单ID和一个按钮 单击按钮时,如何获取要显示(警报)的$Order_ID中的值Php 单击按钮时从表中获取值,php,javascript,html,Php,Javascript,Html,我有一张表,上面显示了一些值。每行有一个订单ID和一个按钮 单击按钮时,如何获取要显示(警报)的$Order_ID中的值 <tbody> <?php foreach($menuextra_result as $transaction) { ?> <tr> $order_id = isset($transaction['order_id'])?($transaction['order_id']) :""; ?> <?php if($orde
<tbody>
<?php
foreach($menuextra_result as $transaction)
{
?>
<tr>
$order_id = isset($transaction['order_id'])?($transaction['order_id']) :"";
?>
<?php if($order_id){ ?>
<td><div id="orderID"><?= $order_id ?></a></td>
<?php } else {?>
<td><div ><span style="color:red">MANGLER</span></td>
<?php }?>
style="color:red">MISSING</span></td>
<?php }?>
//There's more here, but did not bother to show it, because it was irrelevant.
<td><input type="submit" onclick="getElementById" value="Yes "></td>
<?php }
?>
</tr>
<?php
}
?>
</tbody>
$order\U id=isset($transaction['order\U id'])?($transaction['order\U id']):“”;
?>
马槽
style=“color:red”>缺失
//这里还有更多,但没有费心去展示,因为这是不相关的。
我就是这样尝试的
<script type="text/javascript">
function getElementById()
{
el = document.getElementById('order_id');
alert(el);
}
</script>
函数getElementById()
{
el=document.getElementById('order_id');
警报(el);
}
但是,当单击按钮时,什么也不会发生您需要将$order\u id打印到HTML的某个地方。您可以使用隐藏输入:
<input name="order_id" id="order_id" value="<?php echo $order_id; ?>">
table.php
//assuming you have done you loop work
<table>
<tr>
<td>
<?php echo $row['name']?>
</td>
<td><input type="button" value="click me" onclick="clickMe(<?php echo $row['id']?>)" /></td>
</tr>
</table>
您将向clickMe()
函数传递一个参数,该参数为id如果网页不存在,则无法从该网页获取ElementById。
所以解决方案很简单,只需在表中添加一个隐藏的输入元素。您可以从脚本中获取id
<tbody>
<?php
foreach($menuextra_result as $transaction)
{
?>
<tr>
<?php
$order_id = isset($transaction['order_id'])?($transaction['order_id']) :"";
?>
//There's more here, but did not bother to show it, because it was irrelevant.
<td>
<input type="hidden" name="order_id" id="order_id" value="<?php echo $order_id;?>">
<input type="submit" onclick="getElementById" value="Yes "></td>
<?php }
?>
</tr>
<?php
}
?>
</tbody>
//这里还有更多,但没有费心去展示,因为这是不相关的。
首先,不要使用id
,因为这样的元素不止一个。您可以改为使用类:
<div class="orderID"><?= $order_id ?></div>
还修复了您得到的无效HTML,
的结束标记是
,而不是
其次,更改单击以将按钮发送到函数:
<input type="submit" onclick="FindOrder(this);" value="Yes " />
最后,这个函数应该完成以下操作:(通过搜索“brother”div)
函数查找器(OBUTON){
var oRow=oButton.parentNode;
while(oRow&&oRow.tagName.toLowerCase()!=“tr”)
oRow=oRow.parentNode;
var arrDivs=oRow.getElementsByTagName(“div”);
var orderDiv=null;
对于(变量i=0;i
.你在找什么?对于每一行,您都有一个ID和一个按钮?然后单击,您想提醒该特定行的ID吗?没有ID为order\u ID
的元素,没有ID#order\u ID安装firebug并检查控制台中是否有错误。同样ID
在文档中应该是唯一的,因此在循环中使用它是不明智的
<input type="submit" onclick="FindOrder(this);" value="Yes " />
function FindOrder(oButton) {
var oRow = oButton.parentNode;
while (oRow && oRow.tagName.toLowerCase() !== "tr")
oRow = oRow.parentNode;
var arrDivs = oRow.getElementsByTagName("div");
var orderDiv = null;
for (var i = 0; i < arrDivs.length; i++) {
if (arrDivs[i].className === "orderID") {
orderDiv = arrDivs[i];
break;
}
}
if (orderDiv != null) {
var orderNumber = orderDiv.innerHTML;
alert("order is " + orderNumber);
} else {
alert("order not found");
}
}