javascript
  • php
  • jquery
  • datepicker
  • 2017-06-27 11 views 0 likes 
    0

    フォームにjquery datepicker入力があります。現在の日付を初期値として正しく表示します。フォームを送信した後にページがリロードされたときに選択された日付をこのdatePickerに表示させたいと思います。しかし今、私はvalue属性に現在の日付をエコーする方法しか知りません。datepickerはフォームリロード後に選択した値を表示します

    <form method="POST"> 
        <div style='margin:0 auto; text-align:center;'> 
         <label>Appointment Date: </label> 
         <input type="text" id="datepicker" name="date" value=<?php echo date('m/d/Y');?> /> 
         <input type="hidden" name="action" value="list_appointments"/> 
         <input type="hidden" name="date" value="Value of datepicker goes here?"/> 
         <input type="submit" value="Refresh List" name="Update" /> 
         <br /> 
        </div> 
    </form> 
    

    、それを含んScheduling.phpページ:ここ

    はAppointmentDateSelector.phpでDatePickerのフォームです。あなたは日付が送信されたことかどうかをチェックし、その場合には、値としてそれを使用する必要が

    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <title></title> 
        <!-- for datepicker --> 
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> 
        <!-- for timepicker --> 
        <script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script> 
        <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css"> 
        <script type="text/javascript"> 
         $(document).ready(function(){ 
          $("#datepicker").datepicker({minDate:'0', 
          beforeShowDay: 
            function(dt) 
            { 
            return [dt.getDay() === 2 || dt.getDay() === 3, ""]; 
            }}); 
          }); 
         $(document).ready(function(){ 
          $('input.timepicker').timepicker({ 
           timeFormat: 'h:mm p', 
           interval: 30, 
           minTime: '9', 
           maxTime: '5:00pm', 
           defaultTime: '9', 
           startTime: '9:00', 
           dynamic: false, 
           dropdown: true, 
           scrollbar: true     
          }); 
         }); 
        </script> 
    </head> 
    <body> 
        <?php 
        include('AppointmentDateSelector.php'); 
    
        // determine if we got a INPUT_POST or INPUT_GET... 
        // if both NULL, then should default to 'list_appointments' 
        $action = filter_input(INPUT_POST, 'action'); 
        if ($action == NULL) 
        { 
         $action = filter_input(INPUT_GET, 'action'); 
         if ($action == NULL) { 
          $action = 'list_appointments'; 
         } 
        } 
    
        if ($action == 'list_appointments') 
        { 
         $date = filter_input(INPUT_POST, 'date'); 
    
         $dateparse = date_parse($date); 
         #var_dump($dateparse); 
         if (checkdate($dateparse['month'], $dateparse['day'], $dateparse['year'])) 
         {  
          // Get Appointment data 
          $appointments = get_appointments($date); 
          //header("Location: ./Scheduling.php?date=$date"); 
    
          // displays list of appointments on that date 
          include('AppointmentList.php'); 
         } 
         else 
         { 
          //Raise an error that says invalid date. 
         } 
        }    
        ?> 
    </body> 
    </html> 
    
    +0

    あなたのvalue属性に選んだ日付を渡す必要がある、あなたは電流を流しています毎回。 –

    +0

    フォームが送信された後、新しい値を取得し、次のコードを試すことができます:var setDate = new Date( "ここにあなたの日付変数"); setDate = $ .datepicker.formatDate( "yy-mm-dd"、setDate); //必要に応じて書式を変更します。 $( "input.timepicker")。val(setDate); –

    +0

    @VigneshVaidyanathanそのコードはどこに挿入する必要がありますか? – ArmorCode

    答えて

    0

    <input type="text" id="datepicker" name="date" value="<?php echo (isset($_POST['date']) ? $_POST['date'] : date('m/d/Y')); ?>" /> 
    
    +0

    このコードを入力に使用すると、入力の右側に別々に出力されます。value = "現在の日付" – ArmorCode

    +0

    別の日付はどのようにフォーマットされますか?今日の日付形式と一致させるために " - "を "/"に置き換える必要があると思いますか? – Jeppsen

    +0

    正しい日付が表示されるため、日付の形式が正しく設定されています。ただし、コンパイラがvalue = m/d/Yがデフォルトの表示値を決定するhtml要素の1つと考える必要がないと思ったかのように、テキストボックスの右側に表示されます。 – ArmorCode

    関連する問題