我正在尝试在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中加载页面时,我看到没有错误,我也检查元素,没有错误。
我做错了什么?
答案 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"
的浏览器来说,这只是一个快速的技巧。