Передача значения в скрытое входное значение перед отправкой - PullRequest
1 голос
/ 08 июля 2019

Я пытаюсь запустить форму, которая хранит идентификатор в скрытом теге ввода, чтобы я мог получить его на следующей странице, используя php. По какой-то причине я не могу получить значение, используя файл php. Повторяющееся значение orderId.value и номер заказа работают нормально.

main_page.php

<script>
function EditValues(orderNumber) {
    var orderId = document.getElementById("orderId");
    orderId.value = orderNumber;
    document.forms["form1"].submit();
}
</script>

<body>
    <form action="edit-form.php" id="form1">
        <div class="container">

            <!--use the hidden input variable to save the order number clicked -->
            <input id="orderId" type="hidden" name="orderId"/>
<?php
    require("config.php");

    $con = new mysqli(DB_Host, DB_User, DB_Password, DB_Name);
    if ($con->connect_error) {
        die("Connection failed");
    }

    echo '<table id="tblOrders" name ="OrderTable" style="width: 100%">
            <tr>
                <th>Sno</th>
                <th>Order Number</th>
            </tr>';

    $displayTableDataQuery = "SELECT id, orderNumber, customerName, deliveryDate FROM orderTable";

    if ($tableData = $con-> query($displayTableDataQuery)) {
        while($row = $tableData-> fetch_assoc()) {
            $id = $row['id'];
            $orderNumber = $row["orderNumber"];
            echo '<tr >
                <td>'.$id.'</td>
                <td id = "orderNumber">'.$orderNumber.'</td> 
                <td><input type = "button" id ="editButton'.$id.'" value = "Edit" onclick = "EditValues('.$orderNumber.');"/> </td>
                <td><input type = "button" id = "printInvoice'.$id.'" value="Print" onclick = "PrintInvoice('.$orderNumber.');" /> </td>
                </tr>';
        }
    } else {
        echo $con->error;
    }

    $tableData->free();
?>
        </div>
    </form>
</body>

В edit-form.php

<?php

$xyzabc = $_POST['orderId'];
echo $xyzabc;

?>

Ничего не повторяется за $ xyzabc Я бы предпочел, если бы был какой-то способ сделать это без jQuery, так как я новичок в этом и на самом деле не разбирался в том, как все работает вместе.

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете сохранить значение непосредственно в скрытом поле ввода.

  <!--use the hidden input variable to save the order number clicked -->
        <input id="orderId" type="hidden" name="orderId" value="<?=$variable_name;?> />

, чтобы при отправке формы

 <?php

$xyzabc = $_POST['orderId'];
echo $xyzabc;

?>

получало данные.Или вы можете передать скрытое значение в URL.Например

<a href="localhost:8000/edit-form.php?orderId="<?=$variable_name;?>

Тогда в тебе form-edit.php

<?php

    $xyzabc = $_GET['orderId'];
    echo $xyzabc;

    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...