Javascript 校验时间 不通过则组织数据提交

在form表单中有时间选择框,默认在进入页面后会自动输入当前时间进去,但是防止在填写表单后,时间框中没有选择时间,那么这个结束时间就会比当时实际时间要小,造成后台定时任务刷新不到,也就无法自动结束当前任务,时间选择框如下:

image.png

首先定义判断时间输入的函数:

第一个是时间选择器函数,第二个是检查时间的函数

<script type="text/javascript">
    $('input[name="end_time"]').daterangepicker({
        "autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false
        singleDatePicker: true, //单日历
        showDropdowns: true, //年月份下拉框
        timePicker: true, //显示时间
        timePicker24Hour: true, //时间制
        timePickerSeconds: true, //时间显示到秒
        startDate: moment().startOf('day'), //设置开始日期
        endDate: moment().startOf('day').add(6, 'hour'),
        minDate: moment(new Date()), //设置最小日期
        "opens": "center",
        showWeekNumbers: true,
        locale: {
            format: "YYYY-MM-DD HH:mm:ss", //设置显示格式
            applyLabel: '确定', //确定按钮文本
            cancelLabel: '取消', //取消按钮文本
            daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],
            monthNames: ['一月', '二月', '三月', '四月', '五月', '六月',
                '七月', '八月', '九月', '十月', '十一月', '十二月'
            ],
            firstDay: 1
        },
    }, function (start) {
        console.log(start.format('YYYY-MM-DD HH:mm:ss'));
    });

    function checkTime() {
        var end_time = document.getElementById("end_time").value;//时间选择框中传入的时间
        var end = new Date(end_time);
        var now = new Date();//当前时间
        if (end.valueOf() > now.valueOf()) {
            return true;//返回true,表示时间输入合理
        } else {
            alert('结束时间须大于当前实际时间10分钟,请重新选择结束时间...');
            return false;//时间选择不合理,禁止提交数据
        }
    }
</script>

在提交按钮中引用时间检查函数:

<div class="col-sm-offset-2 col-sm-10">
    <button type="submit" value="submit" onclick="return checkTime()" class="btn btn-outline-info btn-sm">提交</button>
</div>

下面可以验证下,输入比当前实际时间小的时间是无法提交表单的

image.png






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章