6

我想打印出我按下的按钮的 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.";
}
4

5 回答 5

13

如果您不想使用隐藏字段,您可以像这样设置提交按钮:

<button type="submit" name="id" value="value">Submit</button>

然后你可以用$_GET['id'].

您可以有多个type="submit"同名按钮 ( id),如果表单是通过按 Enter 提交的,则值将是被点击的那个,或者是第一个。

于 2012-11-22T15:17:06.143 回答
4

'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>';
于 2012-11-22T15:10:15.903 回答
2

使用隐藏的输入字段:

<input type="hidden" value=".$row['I_ID']." name="input2"/>

然后通过以下方式在第二个脚本中访问它:

$_POST['input2']; // or $_GET['input2'], depending on the method of the form submitting
于 2012-11-22T15:11:40.230 回答
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"
于 2012-11-22T15:15:17.650 回答
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.";
    }
于 2012-11-22T15:16:49.950 回答