首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为适用于html 5浏览器和旧浏览器的type=date输入设置默认值

如何为适用于html 5浏览器和旧浏览器的type=date输入设置默认值
EN

Stack Overflow用户
提问于 2016-01-12 13:48:20
回答 2查看 3K关注 0票数 1

我希望设置日期输入的默认值,例如: 25/12/2015 (欧洲日期格式)。

如果浏览器与html 5兼容,并且在输入字段中使用type="date“,则必须添加value="2015-12-15",但如果浏览器与html 5不兼容,则必须设置value="25/12/2015”。

如何使我的代码(php和js)与两种浏览器(html 5兼容与否)兼容?

解决方案1:我不使用html 5 "type=date“。这还不够,因为我想在可能的时候使用浏览器数据报警器(特别是智能手机)。

解决方案2:我检查浏览器是否支持HTML5,并相应地设置值,但它有点重…

有人有更聪明的解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-12 13:52:37

应该是直截了当

代码语言:javascript
运行
复制
var input = document.getElementById('#id_of_your_date_input'); // <input type="date">

if ( input.type === 'date' ) {
    input.value = "2015-12-15";
} else {
    input.value = "25/12/2015";
}

只有在支持输入类型的情况下,输入类型才是date,在旧的浏览器中,该类型将返回到text

票数 2
EN

Stack Overflow用户

发布于 2016-01-13 09:42:29

我试图实现adeneo解决方案,因为它对页面的所有type=“日期”输入都是“自动的”。

代码语言:javascript
运行
复制
$date="25/12/2015";
echo "<input name=\"date_number_1\" type=\"date\" value=\"$date\">";

window.onload = manage_date_input();

function manage_date_input(){
   var t_input = document.getElementById('mypage').getElementsByTagName('input');
   for(var i=0; i<t_input.length; i++)
   if(t_input[i].type === 'date'){
      var val=t_input[i].value;
      t_input[i].value=val.substring(6,4)+'-'+val.substring(3,2)+'-'+val.substring(0,2);
}

但是它不起作用,因为在onload事件上,由于日期格式错误,输入已经拒绝了值.

所以我不得不做“相反的”:

代码语言:javascript
运行
复制
$date="2015-12-25";
echo "<input name=\"date_number_1\" type=\"date\" value=\"$date\">";

function manage_date_input(){
 var t_input = document.getElementById('mypage').getElementsByTagName('input');
 for(var i=0; i<t_input.length; i++)
 if((t_input[i].name.substring(0,4)=='date')&&(t_input[i].type != 'date')&&t_input[i].value){
   var val=t_input[i].value;
   t_input[i].value=val.substring(8)+'/'+val.substring(5,7)+'/'+val.substring(0,4);
 }
}

它可以与新的html 5浏览器和不处理type=date的旧浏览器无缝地工作,但我必须将所有的日期输入命名为"date_something“,我相信可以做得更好;-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34745427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档