如何避免自动选择Bootstrap Datepicker默认日期?

时间:2017-12-25 06:49:54

标签: javascript jquery bootstrap-datepicker

我在表单中使用了Bootstrap DatePicker,这不是必填字段。因此,每当我提交表单而不在Datepicker上选择日期时。像01-01-1970这样的默认值仅存储在datebase上。我想存储像0而不是此值01-01-1970

我使用这样的代码

$('#dateRangePicker1').datepicker({
  format: 'dd/mm/yyyy',
  autoclose: true,
  minDate: 0
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/css/bootstrap-datepicker.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.min.js"></script>

<div class="col-xs-12">
  <div class="form-group input-group input-append date" id='dateRangePicker4'>
    <input type="text" id="cust_dob" class="form-control" name="date4" value="" placeholder="DOB" />
    <span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
  </div>
</div>

1 个答案:

答案 0 :(得分:1)

我相信默认情况下,bootstrap datepicker不会设置默认值。您可以在此处查看:Sandbox。您可以打开开发者控制台并尝试

$('#sandbox-container input').datepicker('getDate')

这将为您返回null。如果未将此设置为必需,则 null 将通过表单发送。

我相信你在数据库中设置的是这种行为的原因。我认为你已经将列的类型设置为DATETIME,(也不是null),这使得数据库设置为默认日期,即01-01-1970(Unix时间戳的开始)。如果是这种情况,您可以将列类型设置为varchar,将值设置为某种常见格式(YYYY-mm-dd HH:mm:ss是其中之一)。在客户端,您可以使用一些流行的日期时间库(如MomentJS)来解析时间或生成dateTime字符串以保存到数据库。