Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何强制输入日期格式为dd/mm/yyyy?_Html_Date_Datetime - Fatal编程技术网

Html 如何强制输入日期格式为dd/mm/yyyy?

Html 如何强制输入日期格式为dd/mm/yyyy?,html,date,datetime,Html,Date,Datetime,我有个小问题。我正在开发一个web系统,表单字段类型date让我头疼。该系统仅适用于巴西用户,则日期格式应为dd/mm/yyyy。当使用葡萄牙语从计算机访问站点时,HTML表单字段类型的日期按我所希望的方式工作。但当以计算机语言访问网站时,英文日期格式变为yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到计算机的日期格式已更改,但用户希望以dd/mm/yyyy格式查看日期 我需要的是,无论访问站点的机器设置如何,格式都是dd/mm/yyyy,并且不使用任何其他javascript库

我有个小问题。我正在开发一个web系统,表单字段类型date让我头疼。该系统仅适用于巴西用户,则日期格式应为dd/mm/yyyy。当使用葡萄牙语从计算机访问站点时,HTML表单字段类型的日期按我所希望的方式工作。但当以计算机语言访问网站时,英文日期格式变为yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到计算机的日期格式已更改,但用户希望以dd/mm/yyyy格式查看日期

我需要的是,无论访问站点的机器设置如何,格式都是dd/mm/yyyy,并且不使用任何其他javascript库

使用的代码是:

<input type="date" id="date">

没有这样的事。
input type=date
将选择您的系统默认值并在GUI中显示,但将始终以ISO格式(yyyy-mm-dd)存储值。此外,请注意,并非所有浏览器都支持这种输入,因此依赖这种输入类型还不是一个好主意

如果这是公司的问题,请强制所有计算机使用本地区域格式(dd-mm-yyyy),您的用户界面将以此格式显示(更改区域设置之前,请参阅wufoo链接,您需要重新打开浏览器)

  • 见:例如

  • 有关浏览器支持,请参见

  • 参见:有关规格演示:


    要在不考虑计算机设置的情况下使用固定日期格式,必须使用3个不同的输入元素分别捕获日期、月份和年份。但是,您需要验证用户输入,以确保您具有如下所示的有效日期

    <input id="txtDay" type="text" placeholder="DD" />
    
    <input id="txtMonth" type="text" placeholder="MM" />
    
    <input id="txtYear" type="text" placeholder="YYYY" />
    <button id="but" onclick="validateDate()">Validate</button>
    
    
      function validateDate() {
        var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value);
    
        if (date == "Invalid Date") {
            alert("jnvalid date");
    
        }
    }
    
    
    验证
    函数validateDate(){
    var date=新日期(document.getElementById(“txtYear”).value,document.getElementById(“txtMonth”).value,document.getElementById(“txtDay”).value);
    如果(日期=“无效日期”){
    警报(“有效日期”);
    }
    }
    
    这里有一个微笑的问题:我想你需要重新阅读这个问题。如果你要有单独的输入,你应该至少有一个月的下拉列表,显示月份的名称(或缩写)。通过这种方式,控件本身就可以说话,包括在不识别
    占位符的旧浏览器中。此外,确保服务器端脚本拒绝2位数的年份。这样,如果有人试图使用YMD格式,那么它将捕获错误,并且还消除了任何产生歧义的机会。
    
    <input id="txtDay" type="text" placeholder="DD" />
    
    <input id="txtMonth" type="text" placeholder="MM" />
    
    <input id="txtYear" type="text" placeholder="YYYY" />
    <button id="but" onclick="validateDate()">Validate</button>
    
    
      function validateDate() {
        var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value);
    
        if (date == "Invalid Date") {
            alert("jnvalid date");
    
        }
    }