HTML5中input[type='date']自定义样式&日历校验功能

本文介绍了HTML5中input[type='date']的自定义样式方法,提供了一种创建独立CSS文件来调整样式的方式。同时,文章讨论了如何实现日期校验功能,确保终止日期不小于起始日期,并且限定日期选择范围为7天内,超过此范围的日期不可选。代码示例基于Jquery实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.日历控件自定义样式

HTML5提供了日历控件功能,缩减了开发时间,但有时它的样式确实不如人意,我们可以根据下面的代码自行修改。
建议:复制下面的代码段,单独建立一个css文件,方便我们修改。

/*  修改日历控件类型 */
::-webkit-datetime-edit { padding: 1px;}  /*控制编辑区域的*/
::-webkit-datetime-edit-fields-wrapper { background-color: #fff; }    /*控制年月日这个区域的*/
::-webkit-datetime-edit-text { color: #333; padding: 0 .5em; }  /*这是控制年月日之间的斜线或短横线的*/
::-webkit-datetime-edit-year-field { color: #333; }    /*控制年文字, 如2013四个字母占据的那片地方*/   
::-webkit-datetime-edit-month-field { color: #333; }    /*控制月份*/
::-webkit-datetime-edit-day-field { color: #333; }    /*控制具体日子*/
::-webkit-inner-spin-button { visibility: hidden; }    /*这是控制上下小箭头的*/
::-webkit-calendar-picker-indicator {      /*这是控制下拉小箭头的*/
    border: 1px solid #ccc;
    border-radius: 2px;
    box-shadow: inset 0 1px #fff, 0 1px #eee;
    background-color: #eee;
    background-image: -webkit-linear-gradient(top, #f0f0f0, #e6e6e6);
    color: #666;
}
::-webkit-clear-button {    /*控制清除按钮*/

}

2.日期校验功能

终止日期不能小于起始日期,日期选择范围为7天,其余时间段为不可选。
注:下述代码段利用Jquery原理

//转换时间类型为 yyyy-mm-dd
    function FormatDate (strTime) {
        var date = new Date(strTime);
         var formatedMonth = ("0" + (date.getMonth() + 1)).slice(-2);
         var formatedDate = ("0" + (date.getDate())).slice(-2);
        return date.getFullYear()+"-"+formatedMonth+"-"+formatedDate;
    }

//开始时间
    $("#keyword_time_min").change(function(){
            var d1=new Date($(this).val());            //获取当前时间
            var d2=new Date(d1);                                        
            // d2.setFullYear(d2.getFullYear()+1);      //当前时间+1年
            d2.setDate(d2.getDate()+7);             //当前时间+7天
            d2=FormatDate(d2);                      //转换d2为YYYY-MM-DD格式

            $("#keyword_time_max").attr("max",d2); //最大时间为d2
            $("#keyword_time_max").attr("min",$(this).val()); //最小时间为当前时间

    });

//终止时间
$("#keyword_time_max").change(function(){
            var d3=new Date($(this).val()); 
            var d4=new Date(d3);
            // d4.setFullYear(d4.getFullYear()-1);
            d4.setDate(d4.getDate()-7);             //当前时间-7天
            d4=FormatDate(d4);

            $("#keyword_time_min").attr("min",d4);
            $("#keyword_time_min").attr("max",$(this).val());

    });
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>学生基本信息录入</title> </head> <body> <h1>学生基本信息录入</h1> <form action="/submit_student_info" method="post"> <label for="account">账号:</label> <input type="text" id="account" name="account"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <label>性别:</label> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label><br><br> <label>兴趣:</label> <input type="checkbox" id="sports" name="hobbies" value="sports"> <label for="sports">打球</label> <input type="checkbox" id="art" name="hobbies" value="art"> <label for="art">画画</label> <input type="checkbox" id="study" name="hobbies" value="study"> <label for="study">学习</label><br><br> <label for="education">学历:</label> <select id="education" name="education"> <option value="primary">小学</option> <option value="middle">初中</option> <option value="high">高中</option> <option value="university">大学</option> </select><br><br> <label for="bio">简介:</label><br> <textarea id="bio" name="bio" rows="4" cols="50"></textarea><br><br> <label for="photo">照片上传:</label> <input type="file" id="photo" name="photo"><br><br> <input type="submit" value="确定"> <input type="reset" value="重置"> </form> </body> </html> 运行结果
05-24
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值