我有两个输入是<form>
的一部分。一旦更改其中之一(dpFin),我就试图获取输入的值。问题是,当我使用var endDt = document.getElementById("dpFin").value;
获取值时,在事件内部我获取的不是新值,而是旧值。我如何获得新设置的值呢?
function compararFechas() {
var startDt = document.getElementById("dpInicio").value;
var endDt = document.getElementById("dpFin").value;
console.log(startDt);
console.log(endDt);
}
<div class="form-group col-md-6">
<label>Inicio:</label>
<div>
<input type="text" id="dpInicio" name="dpInicio" class="form-control datepicker-here" data-language='es' data-timepicker="true" data-time-format='hh:ii aa' readonly />
</div>
</div>
<div class="form-group col-md-6">
<label>Fin:</label>
<div>
<input type="text" id="dpFin" name="dpFin" class="form-control datepicker-here" data-language='es' data-timepicker="true" data-time-format='hh:ii aa' readonly onblur="compararFechas()" />
</div>
</div>
最佳答案
您通过它的外观使用了第三方日期选择器,因此您的blur
事件永远不会被触发。如果您查看文档,则日期选择器上可能会有一个事件可以挂接到。
当您丢失blur
上的focus
时,input
将触发。使用日期选择器时,当日期选择器弹出时您已经丢失了focus
-因此是旧值。
关于javascript - onblur在值更改前触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58453735/