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"/>

次に、2番目のスクリプトで次の方法でアクセスします。

$_POST['input2']; // or $_GET['input2'], depending on the method of the form submitting
于 2012-11-22T15:11:40.230 に答える
0

他の人が言っているように、id属性はPHPに渡されません。

idの代わりにname属性を使用すると、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 に答える