2015-11-18 4 views
1

У меня есть форма, в которой я использую bootstrap datetimepicker.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

Вы можете сохранить ISO 8601 отформатированную дату в скрытом поле:

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

Это поле должно быть обновлено при каждом изменении даты:

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

Скрытое поле с датой ISO будет размещена на сервер, в то время как текстовый ввод будет содержать дату в вашем пользовательском формате.

См. Это JSFiddle.

Смежные вопросы