我想打印出我按下的按钮的ID。为表中的每个按钮动态设置id。这是我的HTML代码:
echo '<td><center><input type="submit" id="'.$row['I_ID'].'" class="btn"
name="Add" value ="Add to cart"><center></td><tr>';
我想在这里打印按钮的ID。一个建议?感谢。
if (isset($_POST['Add'])) {
$ID = $_GET['id'];
echo $ID;
echo '<br/>' . "* The item has been added to your cart.";
}
答案 0 :(得分:9)
如果您不想使用隐藏字段,可以像下面这样设置提交按钮:
<button type="submit" name="id" value="value">Submit</button>
然后你可以用$_GET['id']
来抓住它。
您可以使用type="submit"
多个具有相同名称(id
)的按钮,并且该值将是单击的按钮,或者如果通过按Enter键提交表单,则为第一个按钮
答案 1 :(得分:3)
'id'属性不提交给PHP,只提交'value'属性。
你应该做的是添加一个名为“id”的隐藏输入,如下所示:
echo '<td><center><input type="hidden" name="id" value="' . $row['I_ID'] . '" /><input type="submit" id="'.$row['I_ID'].'" class="btn" name="Add" value ="Add to cart"><center></td><tr>';
答案 2 :(得分:1)
使用隐藏的输入字段:
<input type="hidden" value=".$row['I_ID']." name="input2"/>
然后通过以下方式在第二个脚本中访问它:
$_POST['input2']; // or $_GET['input2'], depending on the method of the form submitting
答案 3 :(得分:0)
正如其他人所说,id属性不会传递给PHP。
您可以使用name属性而不是id,它将传递给PHP。
如果您有以下HTML
<input type="submit" name="some_name" class="btn" value ="Add to cart">
您可以在PHP中访问它
$_POST['some_name'] = "Add to Cart"
答案 4 :(得分:0)
您可以使用jquery获取id并通过ajax调用发送它:
$(document).on('click', 'input.btn', function() {
var this_id = $(this).attr('id');
ajaxCall(this_id);
});
function ajaxCall(this_id) {
var data = 'id=' + this_id;
$.ajax({
url: 'proccess.php',
type: "GET",
data: data,
cache: false,
success: function (html) {
DO WHAT EVER YOU WANT WITH THE RETURNED html
}
});
你的'proccess.php':
if (isset($_POST['Add'])) {
$ID = $_GET['id'];
echo $ID;
echo '<br/>' . "* The item has been added to your cart.";
}