提问人:JMA 提问时间:11/10/2023 更新时间:11/10/2023 访问量:25
将 jQuery Datepicker 的值与“高级自定义字段”字段的值进行比较 [duplicate]
Compare value of jQuery Datepicker with the value of an Advanced Custom Fields field [duplicate]
问:
我有一个带有jQuery Datepicker的页面。选择值后,我希望能够将其存储在 PHP 变量中,以便将其与从高级自定义字段组件获取的变量进行比较。
设置我的 Datepicker 并将值存储在 JS 变量中的代码:
<input name="reviewdate" type="text" id="datepick" /> <button id="searchperf">SEARCH</button>
<script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function () {
$("#datepick").datepicker({
minDate: new Date(2023, 4, 23),
maxDate: 0
});
});
$('#searchperf').click(function() {
$perfdate = $('#datepick').val();
$formatcastdate = $('#datepick').val().replace(/\//g, '');
});
</script>
以及将 datepicker 中的值存储在 PHP 变量中的代码:
<?php
if(isset($_GET["reviewdate"])) {
$date = date_create($_GET["reviewdate"]);
echo($date);
echo var_dump($date);
} ?>
现在,我可以将值存储在jquery变量中,但不能将其存储在PHP变量中... 每当我尝试输出$date时,它都不会显示任何内容。
答:
0赞
Jenny
11/10/2023
#1
要将 JavaScript 变量值存储到 PHP 变量中,您不能直接分配它,因为 PHP 是一种服务器端语言,而 JavaScript 在客户端运行。
所以你需要编写 php 脚本,比如创建一个带有 xyz.php 名称的新文件
并在该文件中
if (isset($_POST['reviewdate'])) {
$date = date_create_from_format('m/d/Y', $_POST['reviewdate']);
$acf_date = get_field('date_field', 'page');
echo json_encode(['status' => 'success', 'message' => 'Date processed']);
} else {
echo json_encode(['status' => 'error', 'message' => 'No date provided']);
}
之后,用这个更改你的 JS
$(function() {
$("#datepick").datepicker({
minDate: new Date(2023, 4, 23),
maxDate: 0
});
$('#searchperf').click(function() {
var perfdate = $('#datepick').val();
$.ajax({
url: 'xyz.php'
type: 'POST',
data: { reviewdate: perfdate },
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.log(error);
}
});
});
});
评论