繁体   English   中英

JavaScript:如何从 JavaScript 获取变量到 PHP

[英]JavaScript: How to get variable from JavaScript to PHP

我想从 js 到 php 获取一个变量。 从 $('.form_datetime')(js) 到 $TimeFrom(php)。 我知道这很简单,但还没有奏效。 我不想更改 URL 中的参数(POST、GET、$_REQUEST)。

<div class="container">
    <form action="" class="form-horizontal"  role="form">
        <fieldset>
            <div class="form-group">
                <label for="dtp_input1" class="col-md-2 control-label">Time from </label>
                <div class="input-group date form_datetime col-md-5" data-date="1979-09-16T05:25:07Z" data-date-format="dd MM yyyy - HH:ii p" data-link-field="dtp_input1">
                    <input class="form-control" size="16" type="text" value="" readonly>
                    <span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
                    <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
                </div>
                <input type="hidden" id="dtp_input1" value="" /><br/>
            </div>
        </fieldset>
    </form>
</div>


<?php

  $TimeFrom = 0;
  /* Get time from  datetimepicker */
  echo " My selected time is: " . $TimeFrom;

?>

在脚本中,我需要创建用于传输值的函数。

<script type="text/javascript">


    $('.form_datetime').datetimepicker({
        language:  'fr',
        weekStart: 1,
        todayBtn:  1,
        autoclose: 1,
        todayHighlight: 1,
        startView: 2,
        forceParse: 0,
        showMeridian: 1
    });


</script>

除非您提出新请求或进行 Ajax,否则您不能让 javascript 将信息传递给 PHP 以执行某些操作。 JavaScript 在客户端运行,PHP 在服务器端运行。

如果您想自动更改,您可以在日期更改时修改包含代码的日期选择器...使用 jquery 在网络上更新...

$('.form_datetime').datetimepicker({
    language:  'fr',
    weekStart: 1,
    todayBtn:  1,
    autoclose: 1,
    todayHighlight: 1,
    startView: 2,
    forceParse: 0,
    showMeridian: 1
}).on('dp.change', function (e) {  
    $('#selected-date').html(e.date);
});

<?php
   $TimeFrom = 0;
   echo ' My selected time is: <span id="selected-date">';
 ?>

也许我解决了这个问题。

<div class="container">
    <form action="" class="form-horizontal"  role="form">
        <fieldset>
            <div class="form-group">
                <label for="dtp_input1" class="col-md-2 control-label">Time from </label>
                <div class="input-group date form_datetime col-md-5" data-date="1979-09-16T05:25:07Z" data-date-format="dd MM yyyy - HH:ii p" data-link-field="dtp_input1">
                    <input onchange="GetDataFrom()" class="form-control" size="16" type="text" value="" readonly>
                    <span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
                    <span onclick="" class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
                </div>
                <input type="hidden" id="dtp_input1" value="" /><br/>
            </div>
        </fieldset>
    </form>
</div>


<div id="print-date">
  <?php
    echo "print date: 0";
  ?>
</div>




<script
  src="https://code.jquery.com/jquery-3.3.1.js"
  integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
  crossorigin="anonymous"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/bootstrap-datetimepicker.js" charset="UTF-8"></script>
<script type="text/javascript" src="./js/locales/bootstrap-datetimepicker.cs.js" charset="UTF-8"></script>
<script type="text/javascript">


  function GetDataFrom()
  {
    var date = $( ".form_datetime" ).datetimepicker("getDate"); //to store it in a variable.
      $("#print-date").load("test.php",{SelectedDate: date}); 

  }



  $('.form_datetime').datetimepicker({
      language:  'cs',
      weekStart: 1,
      todayBtn:  1,
      autoclose: 1,
      todayHighlight: 1,
      startView: 2,
      forceParse: 0,
      showMeridian: 1
  });





</script>

在 test.php 中

  <?php

  $SelectedDate = $_POST['SelectedDate'];
  echo "print date: : " . $SelectedDate;

  ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM