javascript - 提交前将值传递给隐藏的输入值

标签 javascript php html forms

我正在尝试运行一个将 Id 存储在隐藏输入标记中的表单,以便我可以使用 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,我更希望有某种方法可以做到这一点,因为我对这个有点陌生,到目前为止还没有真正了解所有东西是如何协同工作的。

最佳答案

您可以将值直接存储到隐藏的输入字段。

  <!--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;

    ?>

关于javascript - 提交前将值传递给隐藏的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56933771/

相关文章:

jquery - 显示每个选择选项 jquery 的描述

javascript - 需要优雅的方式从 Javascript 中的 json 映射中提取字符串形式的值

java - HTML 和 JSP 将命令绑定(bind)到选项表单

Javascript - 检查所有复选框问题

javascript - 设置计时器并使用 javascript/PHP 检查

PHP - 精确匹配句子中的字符串

php - 你如何在 php 中组织你的页面?

javascript - 如何使用 JavaScript 读取 post 请求参数

javascript - 如何在 React-Redux 和 Typescript 中正确使用 'connect'

javascript - 检查 AngularJs 指令中是否存在属性