Datepicker在Safari和FireFox中不起作用

时间:2016-09-09 18:18:29

标签: javascript jquery html firefox safari

我正在尝试在HTML5中使用默认日期类型,但Safari和FireFox并不完全支持,我使用jQuery的解决方法也无效。

我在script.js

中有这个
$(document).ready(function(){
    if ( $('#date1').type != 'date' ) $('#date1').datepicker();
});

在表格中,我有这个:

<script src="js/script.js" type="text/javascript"></script>
<input id="date1" name="date1" required="required" type="date" value="MM/DD/YY"/>

当我在Safari / Firefox中加载页面时,我看到没有错误,我也检查元素,没有错误。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

JQuery有一个returnOtherComponent(){ /* This is just psuedo code, as the web query is a big block of text that is uneeded */ DatabaseIsTrue = Returned True from Web if(DatabaseIsTrue){ return ( <View> <Text> HELLO! </Text> </View> ); } } render(){ return( <View> {this.returnOtherComponent()} </View> ); } 函数,但它没有在你的例子中正确使用,也没有相关性。我认为你想要的是元素的.type 属性,可以像这样实现:

type

这是一个将$(document).ready(function(){ if ( $('#date1').prop('type') != 'date' ) $('#date1').datepicker(); }); .type进行比较的JSFiddle:https://jsfiddle.net/hczg6uyf/1/

这是您的固定代码的JSFiddle,由Tom在以下评论中提供:https://jsfiddle.net/51wLrxy0/1/

答案 1 :(得分:1)

在阅读完Safari和IE不支持此功能后,我对此感到满意。

我的问题是,在Safari上,我什至无法单击输入字段。因此,用户甚至无法手动添加日期,如果可以,则不能使用占位符文本来告诉其日期输入字段。

我的挂名

添加一个占位符,chrome会忽略它。然后,在输入中添加min-height,然后在Safari上至少可以看到其日期输入字段,并且用户可以手动添加日期。

代码:

<input placeholder="Date" id="datetimepicker" type="date" name="calender" class="form-control" />

CSS:

input#datetimepicker {
   min-height: 1px;   
}

对于那些不支持type="date"的浏览器来说,这只是一个快速的技巧。