複数のアイテムとこれらの各アイテムに関連付けられたIDを持つフォームがあります。送信時に、クリックされたアイテムのIDを取得できるようにしたいです。jsを使用してみました。次のようになります。
<form method="post" action="add_item_cart.php">
<input type="hidden" id="item_id" name="item_id">
<input name="submit_item" id="btn_sub" onclick="document.getElementById('item_id').value = <?php echo '3'; ?>" type="submit" value="Add">
</form>
add_item_cart.php$item_id = $_POST["item_id"];
でこの値を取得できるようにしたいのですが、これは機能していないようです。
これは私のjs構文の問題ですか、それとも私のロジックはこの問題を解決するのに妥当ではありませんか?値を変更する前に送信していますか?
編集:自分自身をよりよく説明できるかどうかを見てみましょう。その隠された値を動的に割り当てたいと思います。フォームに3つの送信ボタン(表示されるアイテムごとに1つ)があると想像してください。クリックしたものに応じて、アイテムのIDを非表示フィールドに渡したいので、button1-$ _ POST ["item_id"] = 1、button2-$ _ POST ["item_id"] =2...をクリックすると等
これが私の実際のフォームです(簡略化されていない例)
<form method="post" action="add_item_cart.php">
<table style="width:600px">
<tr>
<?php foreach ($items as $item): ?>
<td>
<center>
<span style="font-size:20px"><?php echo $item["item_name"] ?></span><br/>
€<?php echo $item["price"] ?><br/>
Quantidade: <input type="text" value="1" style="width:30px"><br/>
<input type="hidden" id="item_id" name="item_id">
<input name="submit_item" id="btn_sub" onclick="document.getElementById('item_id').value = <?php echo $item["id"]; ?>" type="submit" value="Adicionar">
</center>
</td>
<?php endforeach; ?>
</tr>
</table>
</form>