【问题标题】:Date passed from input type date seems to be empty and outputs ..1970-01-01从输入类型 date 传递的日期似乎为空并输出 ..1970-01-01
【发布时间】:2020-07-09 07:24:15
【问题描述】:

我有一个表。我想将输入类型日期更新为表数据。我想将其传递给 php 表单 middle.php。但似乎传递了空值,输出似乎是 1970-01-01这意味着数据没有通过。

 <form method="" action="intermediate.php">
   <table id="updatetable">
     
    </table>
  </form>
    //Jquery added here
    <script>
     var today = new Date();
     var dd = String(today.getDate()).padStart(2, '0');
     var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
     var yyyy = today.getFullYear();
    
     today = yyyy + '-' + mm + '-' + dd;
     var i;
     for(i=0;i<5;i++){
    updatetabledata += 
    '<td><input type="date"  id="vazhipadudate"'+i+'" 
    name="vazhipadudate' + i + ' " min="' + today + '"/>
     </td>';
   }
    $("#updatetable").empty().append(updatetabledata);
    </script>

这里是intermediate.php的php代码sn-p

for($i=0;$i<5;$i++){
$date='vazhipadudate'.$i;
if(!empty( $_POST["$date"] ))
{/*echo "\n Date is  ..".$_POST["$date"];*/
$time = strtotime($_POST["$date"]);

//$storecart[$i]['date']=  $_POST["$date"];$storecart[$i]['date']
$time = strtotime($_POST["$date"]);
echo "The time now is.....".$time;
$storecart[$i]['date'] = date('Y-m-d', $time);
echo "Selected Date is..........".$storecart[$i]['date'] ;
}
}

输出是如果我注释掉 if(!empty( $_POST["$date"] ))

The time now is.....Selected Date is..........1970-01-01
The time now is.....Selected Date is..........1970-01-01
The time now is.....Selected Date is..........1970-01-01
The time now is.....Selected Date is..........1970-01-01
The time now is.....Selected Date is..........1970-01-01

【问题讨论】:

  • 我不明白,您将输入命名为 vazhipadudate,然后您期望 $_POST["$date"](注意键名中的 $),而且它似乎并不是您所拥有的全部?
  • 见@konrados $date='vazhipadudate'.$i
  • 你输入的名字末尾有空格!还有为什么不name="vazhipadudate[]"

标签: php html jquery forms


【解决方案1】:

我对主文件做了一些改动。 添加方法:post,在 js 中通过 value 属性中的今天日期。 现在可以正常使用了

index.php

<form method="post" action="intermediate.php">
       <table id="updatetable">
         
        </table>
        <input type="submit" name="">
    </form>
    //JQuery Link here...
    <script>
     var today = new Date();
     var dd = String(today.getDate()).padStart(2, '0');
     var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
     var yyyy = today.getFullYear();
    
     today = yyyy+ '-' + mm + '-' + dd;
     var i;
     var updatetabledata = "";
     for(i=0;i<5;i++){
        updatetabledata += '<td><input type="date" id="vazhipadudate' + i + '" name="vazhipadudate[]" min="' + today + '" value="' + today + '"></td>';
   }
    $("#updatetable").empty().append(updatetabledata);
    </script>

intermediate.php

<?php 
    for($i=0;$i<count($_POST['vazhipadudate']);$i++){
    echo "The time now is.....".date("Y-m-d").'&nbsp;';
    echo "Selected Date is..........".$_POST['vazhipadudate'][$i].'<br/>' ;
}
?>

输出

The time now is.....2020-07-10 Selected Date is..........2020-07-14
The time now is.....2020-07-10 Selected Date is..........2020-07-21
The time now is.....2020-07-10 Selected Date is..........2020-07-12
The time now is.....2020-07-10 Selected Date is..........2020-07-13
The time now is.....2020-07-10 Selected Date is..........2020-07-15

【讨论】:

  • 。我仍然得到输出为 The time now is.....Selected Date is.....1970-01-01
  • 。我想要选定的日期。这是否通过了选定的日期@Mohit Prajapati
  • @soman raj,是的,现在检查一下。再更新一些东西。
猜你喜欢
  • 1970-01-01
  • 2015-08-02
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多