如何打印数据贴纸表单的值?

时间:2018-03-13 17:23:13

标签: javascript jquery datepicker

我正在为自己实施一个小项目。该项目是一个预订网站。

特别是,当用户访问该网站时,它会编译一个表单:

name surname email object check-in date check-out date

两个字段check-incheck-out的类型为datepicker。

当用户选择这两个日期时,我希望该网站显示用户可以购买的优惠。

我的问题是这两个日期。如何将JS中的日期值传递给PHP来进行查询并在我的数据库中搜索哪些优惠可供用户购买?

这是我的代码:

JS代码

$(function(){

    var self=this;
     self.check_next=[0,0];
    $('#data_arrivo').datepicker({
        minDate:0,
        dateFormat: "dd/mm/yy",
        onSelect: function (selectedDate) {
                    var depart = jQuery.datepicker.parseDate('dd/mm/yy', selectedDate);
                    depart.setDate(depart.getDate() + 1);
                   $('#data_partenza').datepicker("option", "minDate", depart);
        setTimeout(function(){
            $('#data_partenza').datepicker('show');
        }, 16);
             self.check_next[0]=1;
        if(check_div(self.check_next))load_date_picker();
                }
            });
    
   $('#data_partenza').datepicker({      
        minDate:0,
        dateFormat: "dd/mm/yy",
        onSelect:function(selectedDate){
              self.check_next[1]=1;
        if(check_div(self.check_next))load_date_picker();
            
        }
        });
});
function check_div(ar){
    if(ar[0] && ar[1])return true;
    else return false;
}

function load_date_picker(){
    $('.show_div').removeClass('hidden');
    }

function leggi_dati(){
    var data_arrivo = $('#data_arrivo').val();
    var nome=$('#cnome').val();
    $.ajax({
            type: 'POST',
            url: '/lavoro/wp-content/themes/rolenzo/page-templates/test-page-template.php',
            dataType : "json",
            data:$('#commentForm').serialize(),
            success:function(data){
                console.log("Done");
            }
        });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.4/datepicker.js"></script>
<link rel='stylesheet' type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.4/datepicker.css"/>

<span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%;">Selezionare Data di arrivo</span>
             <p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_arrivo" id="data_arrivo" class="datepicker" required></p>
         </div>
         <div style="float:left; width:100%; height:100%;">
             <p><span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%;">Selezionare Data di partenza</span></p>
             <p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_partenza" id="data_partenza" class="datepicker" required></p>
         </div>
         <div class="hidden show_div">
         <p style= "text-align:center; font-weight:bold;">Offerte Disponibili nel periodo da Lei selezionato : </p>
             <?php
               $date = urldecode ($_GET['data_arrivo']);

                echo "chosen date is: ".$date;
             
             
             ?>
             </div>

1 个答案:

答案 0 :(得分:0)

您希望使用正确的格式在js日期使用PHP函数createFromFormat,例如:

$jsDate = $_POST['data_arrivo']
$dateTime = DateTime::createFromFormat('d/m/Y', $jsDate);

然后您应该能够使用$ dateTime来查询您的数据库(假设PHP日期对象将是兼容的)

但请记住,这将在您选择的日期的0:00:00创建一个日期对象,这可能是您想要的,也可能不是。如果你想要包括迄今为止的整天,你需要将迄今为止的时间设置为23:59:59。