首页 > 解决方案 > 基于数据隐藏和显示文本字段使用java脚本

问题描述

{在选择日期选择器时,如果所选日期距当前日期不到 3 年,则 text1 文本框将启用否则禁用...我在 onchange 事件中编写 validateDate() 函数,但无法编写完美的逻辑。 ..请帮帮我...在此先感谢}

    <script src="D:\JS\jquery-ui-1.12.1\jquery-ui-1.12.1\jquery-ui.js"></script>
    <script>
    $( function() {
    $( "#datepicker" ).datepicker();
    } );
    function ValidateDate(){ [onchange function]  
    var inputdate=document.getElementById('datepicker').value; 
    var firstDate = new Date();
             
    }
    </script>
    </head>
    <body>
    <p>Date: <input type="text" id="datepicker" onchange="ValidateDate()"></p> {Validate() call to disable text1 text box}
    <p>Date: <input type="text" id="text1" disabled></p>```

标签: javascriptvalidation

解决方案


尝试这个:

$("input#datepicker")[0].min=(parseInt(new Date().getFullYear())-3).toString()+"-"+((new Date().getMonth()+1).toString().padStart(2, "0"))+"-"+(new Date().getDate().toString().padStart(2, "0"))
console.log($("input#datepicker")[0].min)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Date: <input type="date" id="datepicker" min="2018-00">

从技术上讲,您根本不需要 jquery,但由于您可能已经拥有它以及其他代码,所以我想出了什么问题。

此代码获取年份,获取月份并添加 1,并将其解析为 2 个字符长,获取日期并将其解析为 2 个字符长,然后将它们与连字符放在一起。之后,它只是将其设置为min输入。


推荐阅读