Javascript 在提交之前将值传递给隐藏的输入值
我正在尝试运行一个表单,该表单将Id存储在一个隐藏的输入标记中,这样我就可以在下一页使用php检索它。由于某些原因,我无法使用php文件检索该值。回显orderId.value和订单号工作正常 main_page.phpJavascript 在提交之前将值传递给隐藏的输入值,javascript,php,html,forms,Javascript,Php,Html,Forms,我正在尝试运行一个表单,该表单将Id存储在一个隐藏的输入标记中,这样我就可以在下一页使用php检索它。由于某些原因,我无法使用php文件检索该值。回显orderId.value和订单号工作正常 main_page.php <script> function EditValues(orderNumber) { var orderId = document.getElementById("orderId"); orderId.value = orderNumber;
<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>
函数EditValues(orderNumber){
var orderId=document.getElementById(“orderId”);
orderId.value=订单号;
document.forms[“form1”].submit();
}
在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,因为它是服务器端语言。您必须使用javascript。
<?php
$xyzabc = $_POST['orderId'];
echo $xyzabc;
?>
<a href="localhost:8000/edit-form.php?orderId="<?=$variable_name;?>
<?php
$xyzabc = $_GET['orderId'];
echo $xyzabc;
?>