无法获得单击按钮时的隐藏值

时间:2018-07-05 16:34:40

标签: php

我使用isset获取使用隐藏类型单击的按钮值...下面是我的代码

<form id="posform" name="posform" action="" method="POST"  >
<div><input type="hidden" name="updatepos" value="1" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos" value="2" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos" value="3" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos" value="4" /><input type="submit" value="Update" ></div>
</form>


if (isset($_POST['updatepos'])){
$targetbtnvalue=$_POST['updatepos'];
echo $targetbtnvalue;
}

但是使用下面的代码,无论单击了哪个按钮,它始终会回显最后一个按钮值,即4。

我正在尝试使其与按钮被点击的相应值相呼应... plz指南

2 个答案:

答案 0 :(得分:0)

那是因为它是具有相同字段的相同表单。

尝试以下方法:

<form name="posform" action="" method="POST"  >
   <div><input type="hidden" name="updatepos" value="1" /><input type="submit" value="Update" ></div>
</form>
<form name="posform" action="" method="POST"  >
    <div><input type="hidden" name="updatepos" value="2" /><input type="submit" value="Update" ></div>
</form>
<form name="posform" action="" method="POST"  >
    <div><input type="hidden" name="updatepos" value="3" /><input type="submit" value="Update" ></div>
</form>
<form name="posform" action="" method="POST"  >
    <div><input type="hidden" name="updatepos" value="4" /><input type="submit" value="Update" ></div>
</form>

答案 1 :(得分:0)

所有隐藏的输入名称都是相同的,即 updatepos 不应相同。因此,您可以为隐藏的输入尝试使用不同的名称,或者像updatepos[]那样将其设置为数组。然后,您将获得$_POST数组上所有隐藏的输入值,而不仅仅是最后一个。

form id="posform" name="posform" action="" method="POST"  >
<div><input type="hidden" name="updatepos[]" value="1" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos[]" value="2" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos[]" value="3" /><input type="submit" value="Update" ></div>
<div><input type="hidden" name="updatepos[]" value="4" /><input type="submit" value="Update" ></div>
</form>

然后使用PHP尝试这样,

if (isset($_POST['updatepos'])){
    $targetbtnvalue=$_POST['updatepos'];
    print '<pre>';
    print_r($targetbtnvalue);
    print '</pre>';
}