php 将jQuery Datepicker的值与高级自定义字段的值进行比较[重复]

hl0ma9xz  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(99)

此问题在此处已有答案

How do I pass JavaScript variables to PHP?(16个回答)
5天前关闭。
我有一个带有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>

字符串
以及将日期选择器中的值存储在PHP变量中的代码:

<?php 
if(isset($_GET["reviewdate"])) { 
$date = date_create($_GET["reviewdate"]);
echo($date);
echo var_dump($date);
} ?>


现在,我可以将值存储在一个jquery变量中,但我不能将其存储在一个PHP变量中.

5f0d552i

5f0d552i1#

要将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);
            }
        });
    });
});

相关问题