Ä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.
InformationsquelleAutor Jorg Ancrath | 2013-01-12
Schreibe einen Kommentar