我在 JavaScript 开发方面绝对是新手,我必须执行以下任务:我有 2input包含 2 个表示表单中日期的字符串的标签2014年1月12日 (日月年)。我使用此输入标记来搜索具有这些日期中的日期字段的对象。
<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
onchange="cambioDataDa(this.value)"
name="dataDa" id="datada" value="<%=request.getSession().getAttribute("dataDa")%>"
style="font-size: 11px;color: #000000;">
<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
onchange="cambioDataA(this.value); checkData(this.value)"
name="dataA" id="dataa" value="<%=request.getSession().getAttribute("dataA")%>"
style="font-size: 11px;color: #000000;">
<button class="dataDadataAButton" name="submitdataDadataA" onclick="sottomettiFormDataDaA(this)">Cerca</button>
最后我有一个button用于使用以下 JavaScript 提交此表单:
function sottomettiFormDataDaA(obj) {
document.getElementById('dataDaAForm').submit();
}
我需要的是防止里面的值dataA(英语 dateTo)输入是之前的那个dataDa值(英语dateFrom).
我正在尝试做这样的事情:
-
JavaScript 被调用于onchange数据更改的事件并获取 dataA 字符串(代表日期到日期)并检查它是否是先前的数据(日期到日期)。
-
如果前面的检查为真,则日期范围无效,因此脚本会显示错误弹出消息,并禁止提交 id="dataDaAForm" 的表单
function checkData(dataA) {
dataDa = document.getElementById('dataDa').value;
if(dataDa > dataA){
// SHOW A POPUP ERROR MESSAGE
// DISALLOW THE FORM SUBMIT
}
}
但是我真的不知道如何完成这个 JavaScript,而且我不知道是否存在更好的解决方案来完成这个任务。
很简单的,Date
实例可以直接比较。
function compareTime(time1, time2) {
return new Date(time1) > new Date(time2); // true if time1 is later
}
当你比较两个Date
实例,或相互减去,valueOf
方法将在内部调用,将实例转换为时间戳(毫秒级精确).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)