datetimepicker更改显示没有格式

时间:2015-11-18 14:31:19

标签: node.js momentjs bootstrap-datetimepicker

我有一个表格,我使用bootstrap datetimepicker。

HTML:

<div class='input-group date' id='datetimepicker1' style="width:35%">
<input type='text' class="form-control" id="prodStart" name="prodStart" required=""/>
<span class="input-group-addon">
  <span class="glyphicon glyphicon-calendar"></span>
</span>

的javascript:

var dateTimeSettings = {
    format: 'dd  DD/MM/YYYY hh:mm A'
  }
$('#datetimepicker1').datetimepicker(dateTimeSettings);

我最近将格式更改为上面,因为我不喜欢显示默认格式。

当我发布数据时出现问题,req.body.prodStart现在返回一个字符串,而不是我之前获得的日期对象(ISO())并构建了我的应用程序代码。

如果我将dateTimeSettings更改为{},则req.body.prodStart会返回一个对象。这就是我想要的后端,但现在用户在填写表单时会看到不需要的格式。

如何在表单中以req.body.prodStartdd DD/MM/YYYY hh:mm A显示格式保留对象格式。

1 个答案:

答案 0 :(得分:0)

您可以将ISO 8601格式的日期保存在隐藏字段中:

<input type='hidden' id="prodStart" name="prodStart" />

此字段应在每次更改日期时更新:

$('#datetimepicker1').on('dp.change', function(e) {
  $('#prodStart').val(e.date.format());
})

ISO日期的隐藏字段将发布到服务器,而文本输入将包含自定义格式的日期。

请参阅此JSFiddle