Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单击按钮时从表中获取值_Php_Javascript_Html - Fatal编程技术网

Php 单击按钮时从表中获取值

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

我有一张表,上面显示了一些值。每行有一个订单ID和一个按钮

单击按钮时,如何获取要显示(警报)的$Order_ID中的值

<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");
    }
}