我有一个表格,我使用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.prodStart
和dd DD/MM/YYYY hh:mm A
显示格式保留对象格式。
答案 0 :(得分:0)
您可以将ISO 8601格式的日期保存在隐藏字段中:
<input type='hidden' id="prodStart" name="prodStart" />
此字段应在每次更改日期时更新:
$('#datetimepicker1').on('dp.change', function(e) {
$('#prodStart').val(e.date.format());
})
ISO日期的隐藏字段将发布到服务器,而文本输入将包含自定义格式的日期。
请参阅此JSFiddle。