datepicker格式:如何在幕后获得不同的格式?

时间:2016-08-09 15:39:27

标签: jquery datepicker

我希望文本框中的日期显示为MM-DD-YY (or YYYY, idc)但是出于MySQL的目的,我需要YYYY-MM-DD

我在这里找到了一个相同的问题,但我无法得到答案。我发现标题有点误导,但所描述的问题与我相同。

jQuery datepicker altFormat not displayed

"altField"输入是因为我不确定它是否包含在datepicker中,或者是否需要添加。我不能以任何方式让它工作。 PHP在调试时用于我自己的目的,所以我可以看到将要放入查询中的内容。

<form onsubmit="return(validateEvent())" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label>Date</label>
<input type="text" name="datepicker" id="datepicker">
<br/>
<button type="submit" value="submit" name="submit">Add Event</button>
<input type="text" name="altField" id="altField" hidden>

<script>
$( function() {
    $( "#datepicker" ).datepicker({
        dateFormat: "mm-dd-yy",
        altFormat: "yy-mm-dd",
        altField: "#altFormat"
    });
});

<?php
if( isset($_POST['submit']) ) {
    echo "<script>";
    $temp = $_POST["datepicker"];
    echo "alert('$temp');";
    echo "</script>";
}
?>

有人请帮助我保持理智O_o

3 个答案:

答案 0 :(得分:4)

您的ID错误,隐藏字段应为type=hidden

检查一下:

&#13;
&#13;
$( function() {
  $( "#datepicker" ).datepicker({
    dateFormat: "mm-dd-yy",
    altFormat: "yy-mm-dd",
    altField: "#altField"
  });
  $('#btn1').click(function() {
    console.log("Datepicker value: " + $('#datepicker').val());
    console.log("Datepicker alt value: " + $('#altField').val());
  });
});
&#13;
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<form onsubmit="" method="post" action="">
  <label>Date</label>
  <input type="text" name="datepicker" id="datepicker">
  <input type="hidden" name="altField" id="altField">
  <br/>
  <button type="submit" value="submit" name="submit">Add Event</button>
</form>
<br /><br />
<button id="btn1">View Values</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以将日期格式更改为y-m-d

<?php
if( isset($_POST['submit']) ) {
    echo "<script>";
    $temp = date('Y-m-d',strtotime($_POST["datepicker"]));
    echo "alert('$temp');";
    echo "</script>";
}

?>

答案 2 :(得分:0)

datepicker插件有一个&#34; get&#34;返回日期类型集的方法,我们只需要根据需要格式化。在这里我们可以使用datepickers formateDate()方法在提交之前进行格式化。

var dateTypeVar = $('#datepicker').datepicker('getDate');
$.datepicker.formatDate('Y-m-d', dateTypeVar);

https://jqueryui.com/resources/demos/datepicker/date-formats.html