繁体   English   中英

如何从 html/javascript 中先前表单的数据中禁用日期

[英]how to disable date from the data on previous form in html/javascript

因此,在第一个表单上,我想在今天后 7 天禁用日期,并且它成功了但是在第二个表单上,我想在 date_in 表单填写后 7 天禁用日期,但它不起作用。

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> //date_in or first form <div class="form-group"> <label for="date_in">Date In</label> <input class="form-control" type="date" id="date_in" name="date_in" required> </div> //date_out or second form <div class="form-group"> <label for="date_out">Date Out</label> <input type="date" class="form-control" id="date_out" name="date_out"> </div> <script> //date_in disable javascript var dt = new Date(); dt.setDate(dt.getDate() + 8); var dayaf = dt.toISOString().split('T')[0]; document.getElementsByName("date_in")[0].setAttribute('min', dayaf); //date_out disable javascript var de = $('#date_in').val(); de.setDate(de.getDate() + 8); var dayen = de.toISOString().split('T')[0]; document.getElementsByName("date_out")[0].setAttribute('min', dayen); </script>

你已经完成了第一部分。 第二部分略有不同。 它应该随着用户选择不同的“日期”值而动态变化。 所以,在下面替换:

//date_out disable javascript
var de = $('#tanggal_mulai').val();
de.setDate(de.getDate() + 8);
var dayen = de.toISOString().split('T')[0];
document.getElementsByName("date_out")[0].setAttribute('min', dayen);

像这样:

$("#date_in").change(function(e) {
    var de = new Date($('#date_in').val());  // I guess tanggal_mulai is a typo or something
    de.setDate(de.getDate() + 8);
    var dayen = de.toISOString().split('T')[0];
    document.getElementsByName("date_out")[0].setAttribute('min', dayen);
});

您同时使用了 jQuery $() 和 vanilla JS (document.getElementByName) styles 来检索对象。 我没有碰这些,但强烈建议保持一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM