Ändern Sie versteckte Feld Wert auf "Absenden" klicken
Ich habe ein Formular mit mehreren Elementen und eine id zugeschrieben wird jedes dieser Elemente, auf "Absenden" ich möchte in der Lage sein zu greifen, die id des Eintrags, auf den geklickt wurde - ich habe versucht, mit Hilfe von js, so etwas wie:
<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>
Ich möchte in der Lage sein zu packen, Wert: $item_id = $_POST["item_id"];
auf add_item_cart.php, aber das scheint nicht zu funktionieren.
Ist das ein problem mit meine js-syntax oder ist meine Logik nicht plausibel, dieses problem zu lösen? Ist es Einreichen, bevor Sie den Wert ändern?
BEARBEITEN:
Mal sehen, ob ich erklären kann, mich selbst besser, ich zuweisen möchten, der versteckte Wert dynamisch vorstellen, dass mein Formular hat 3 submit-buttons (einer für jedes Element angezeigt). Je nachdem die eine, die angeklickt wird, möchte ich weitergeben des Elements id auf mein hidden-Feld, also wenn ich auf button1 - $_POST["item_id"]=1, button2 - $_POST["item_id"]=2... usw
Hier ist meine aktuelle form (nicht Vereinfachtes Beispiel)
<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>
- Dies ist ein Vereinfachtes Beispiel? Jeder Wert, den Sie Durchlaufen, PHP wie
<?php echo "3"; ?>
könnte genauso gut platziert werden, in der versteckte Eingang s mit dem Wert zu beginnen... - Gibt es einen Grund, warum Sie nicht hinzufügen, wird der Wert des versteckten input-Wert beim laden der Seite? -
<input type="hidden" id="item_id" name="item_id" value ="<?php echo '3'; ?>">
- Nur ein Vereinfachtes Beispiel, eigentlich versuche ich zu echo-eine id, die ich packte aus einer Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das Formular veröffentlicht und Sie erfassen möchten, die item_id Wert auf add_item_cart.php zuerst müssen Sie eigentlich einen Wert zuweisen-id (Vorausgesetzt, item_id ist eine php-variable). Die id wird nur verwendet für die Einstellung der css-Bearbeitung nicht Wert...
können Sie nicht haben id=" für den Wert, weil 'Wert' ist Wert.
Dann können Sie diesen Wert auf Ihrer anderen Seite mit:
Wenn Sie möchten, Bearbeiten Sie die Variablen nach dem post je nachdem, welche Taste Sie drücken, können Sie versuchen.
Dann oben auf Ihrer Seite, die Sie tun können.
Wenn Sie sind erstellen von Formularen aus einem array der Elemente, die Sie könnte so etwas tun, (vorausgesetzt, Sie haben irgendwie eine id, die diesen Elementen zugeordnet; ich hätte wissen müssen mehr Informationen darüber, wie Sie Ihre Artikel-Liste. Aber es wäre im Allgemeinen wie das tun.
Dann oben auf Ihrer Seite kann man gerade mal $_POST['item_id'] und da dieser Wert wird dynamisch eingestellt, brauchen Sie keine Bedingungen können Sie einfach Holen Sie sich diesen Wert und führen Sie jede Abfrage.
UPDATE
Normal " - button statt submit-button und verwenden Sie javascript zum Absenden des Formulars.