我的网络表单上有一个日期选择器。如果用户提供的数据不是日期,那么我想用当前日期替换该输入。为此,我尝试使用以下功能,但它不起作用(没有错误/没有预期结果)
的 Jquery的
$('#datepicker1').change(function () {
var timestamp = Date.parse($("input[name='datepicker1']").val())
if (isNaN(timestamp) == true) {
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var output = (('' + day).length < 2 ? '0' : '') + day + '/' +
(('' + month).length < 2 ? '0' : '') + month + '/' + d.getFullYear()
$('#datepicker1').val(output);
}
});
的设计
<div class="form-group">
<label class="col-sm-4 control-label">Joining Date</label>
<div class="col-sm-8">
<input type="text" class="form-control" placeholder="dd/mm/yyyy" id="datepicker1" name="datepicker1" />
</div>
</div>
希望你有这个主意,不擅长jquery请帮助我。
答案 0 :(得分:0)
检查
var value=$.trim($("#datepicker1").val());
if(value.length<0)
{
var now = new Date();
$('#datepicker1').val(now);
}
使用Date.parse()方法检查日期是否有效:
var timestamp = Date.parse($("#datepicker1").val())
if (isNaN(timestamp) == false) {
var d = new Date(timestamp);
$('#datepicker1').val(d);
}
答案 1 :(得分:0)
请检查jsFiddle演示
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var output = (('' + day).length < 2 ? '0' : '') + day + '/' +
(('' + month).length < 2 ? '0' : '') + month + '/' + d.getFullYear()
console.log(output)
$('#datepicker1').val(output);