按下按钮时如何获取提交类型按钮的ID(PHP + HTML)

时间:2012-11-22 15:07:52

标签: php html

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

5 个答案:

答案 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.";
    }