javascript - 如何将 HTML 表单中的值解析为 PHP 值?
问题描述
我想更新订单准备时间。我有这个小的 HTML 表单,但是我不能在这段代码之后将它传递给 PHP 变量。我用过 Cookies,我用过 POST 方法,但没有一个能帮到我。
<form>
<input type="text" id="save_order_time" name="order_time<?php echo $order_id ?>" />
<input type="submit" name="submit" value="Update Order Time" onclick="order_time_a();">
</form>
<script>
function order_time_a(){
var input = $('.menu-order-detail').find('input[name="order_time<?php echo $order_id ?>"]').val();
//var input = 25;
<?php
//$order_time = '<script>var input = $(".menu-order-detail").find("input[name="order_time<?php echo $order_id "]").val();</script>';
//update_post_meta($order_id, 'foodbakery_order_time', $order_time); ?>
console.log("Lets show something "+input);
var d = new Date();
d.setTime(d.getTime() + (1*24*60*60*1000));
var expires = "expires="+ d.toGMTString();
document.cookie = "order_time" + "=" + input + ";" + expires + ";path=/";
console.log("Cookie was set. " + input);
}
</script>
<?php
echo ("<script>console.log('This code is executed first')</script>");
//echo ('order_time'.$order_id);
$order_time = $_COOKIE['order_time'];
update_post_meta($order_id, 'foodbakery_order_time', $order_time);
当我使用 COOKIE 解决方案时,我之前设置的值存储在 $order_time 值中。这很正常,因为我在设置后无法立即访问 COOKIE。
当我使用 POST 方法时,我的数据库中得到 NULL。
我该如何实现上述内容?
解决方案
您的解释中有一些不清楚的地方。你为什么将这些不同的概念并排使用?
- 表格/邮寄
- Javascript
- COOKIE 变量
我认为您应该尝试仅使用 Form / POST 选项,请参阅此处的说明:HTML Form POST to PHP page
除此之外,在您的 javascript 部分中,我看到了这一点:var input = $('.menu-order-detail').find('input[name="order_time<?php echo $order_id ?>"]').val();
您应该像这样创建它以找到正确的对象:
var input = $('.menu-order-detail').find('input[name="order_time"]').val();
推荐阅读
- javascript - 是否可以在创建后将 Express Session 更改为不同的商店
- c# - 何时为托管对象创建 GCHandles,并将其传递给非托管代码?
- git - 从工作区丢失了我的非 git 文件
- python - python子进程模块在执行批处理文件时卡住了
- java - Struts 属性没有得到动作模型
- java - FXML 布局的可重用常量?
- html - 在移动设备上输入选择后恢复全屏
- twitter-bootstrap - 导航栏折叠菜单不起作用
- html - html和css如何实现堆叠样式效果?
- javascript - 无法理解 React setState 的异步性