表单中的多个日期选择器

时间:2017-05-03 10:24:15

标签: javascript php jquery html datepicker

编辑:感谢所有提示,我发现罪魁祸首是PHP脚本中的拼写错误,它比我链接的更长。现在我正在更新我的代码以减少它的混乱:)

您好我是datepicker的新手。

我的表单中有两个日期选择器。但是当我发送它并且我尝试只用$ _POST [' date2']返回$ _POST时,$ _POST [' date1']为NULL。

$ _ POST [" datepicker1"]和$ _POST [" datepicker2"]也返回null

HTML头

  <script>
 $(function() {
        $( "#datepicker1" ).datepicker({ dateFormat: 'dd/mm/yy' });
        $( "#datepicker2" ).datepicker({ dateFormat: 'dd/mm/yy' });
    });
  </script>

HTML正文

<form class="form-inline" action="somewhere.php" method="post">

<div class="form-group">
  <label for="date1">Date 1:</label>
  <input type="text" class="datepicker1" name="date1" id="datepicker1" placeholder="Date">

</div>
<div class="form-group">
  <label for="date2">Date 2:</label>
  <input type="text" class="datepicker2" name="date2" id="datepicker2" placeholder="Date">

</div>

<button type="submit" name="button2" class="btn btn-default">Submit</button>
</form>

PHP脚本

<p>Date: <?php echo $_SESSION["date"]; ?><br>
Datepicker 1: <?php echo $__POST["datepicker1"]; ?><br>
Date 1: <?php echo $_SESSION["date1"]; ?></br>
Datepicker 2: <?php echo $_POST["datepicker2"]; ?><br>
Date 2: <?php echo $_SESSION["date2"]; ?><br></p> 

1 个答案:

答案 0 :(得分:0)

如所怀疑的,问题来自您的PHP脚本。 将您的PHP脚本更改为:

<p>
Datepicker 1: <?php echo $_POST["date1"]; ?><br>
Datepicker 2: <?php echo $_POST["date2"]; ?><br></p> 

在php中从html表单获取输入值时,请使用name属性而不是id。

或者,添加此

<?php
var_dump($_POST);//this would display all values from your html form. including keys and values. Remember $_POST returns associative array
?>

关于你的javascript datepicker,作为一项改进,你可以使用一个类并循环遍历它,而不是使用多个id。

将日期选择器的类更改为datepick

 <script type="text/javascript"> 
            $(function(){
          $('.datepick').datepicker({ dateFormat: 'dd/mm/yy' }); 
     }); 
        </script> 

确保每个输入都有自己的个人ID