簡體   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