Javascript 如何从onchange中获取价值?
嗨,我基本上是试图禁用另一个输入字段,如果从另一个输入字段(日期)将日期设置为今天。我似乎无法将onchange强制到输入字段中,并将该值捕获到变量中以使其工作 我已经成功地将onchange(this)放到了输入字段中,但是我必须将它取出,并强制将jsonchange放到输入字段中 我尝试了以下代码。如您所见,当时间超过上午10点并且日期被选择为今天时,它应该做一些事情:Javascript 如何从onchange中获取价值?,javascript,date,onchange,Javascript,Date,Onchange,嗨,我基本上是试图禁用另一个输入字段,如果从另一个输入字段(日期)将日期设置为今天。我似乎无法将onchange强制到输入字段中,并将该值捕获到变量中以使其工作 我已经成功地将onchange(this)放到了输入字段中,但是我必须将它取出,并强制将jsonchange放到输入字段中 我尝试了以下代码。如您所见,当时间超过上午10点并且日期被选择为今天时,它应该做一些事情: <script> var date = new Date(); var dd = date.g
<script>
var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date = yyyy+'-'+mm+'-'+dd;
var userDateEntry = document.getElementById("fm_deliverydate").onchange().value;
if (hrs >= 10 && userDateEntry == date) {
alert("Shipping for today has ended. Your order will arrive tomorrow");
document.getElementById('fm_deliverytime').disabled= true;
}
else{
document.getElementById('fm_deliverytime').disabled= false;
}
</script>
<input type="date" name="DateName" id="fm_deliverydate" />
<input type="time" name="TimeName" id="fm_deliverytime" />
变量日期=新日期();
var dd=date.getDate();
var mm=date.getMonth()+1;
var yyyy=date.getFullYear();
var hrs=date.getHours();
如果(dd未正确附加事件。请使用addEventListener
附加事件
小提琴:
var-date=新日期();
var dd=date.getDate();
var mm=date.getMonth()+1;
var yyyy=date.getFullYear();
var hrs=date.getHours();
如果(dd<10){
dd='0'+dd
}
如果(毫米<10){
毫米='0'+毫米
}
日期=yyyy+'-'+mm+'-'+dd;
var userDateEntry=document.getElementById(“fm_deliverydate”);
userDateEntry.addEventListener('change',
函数(){
如果(小时数>=10&&userDateEntry.value==date){
警报(“今天的发货已结束。您的订单将于明天到达”);
document.getElementById('fm_deliverytime')。disabled=true;
}否则{
document.getElementById('fm_deliverytime')。disabled=false;
}
}
);
尝试将事件侦听器添加到元素中,并在其更改时启动函数。试一试。您还可以考虑添加一个输入日期低于当前日期的情况。现在可以输入日期,仍然可以输入时间。
<input type="date" name="DateName" id="fm_deliverydate" />
<input type="time" name="TimeName" id="fm_deliverytime" />
<script>
var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date = yyyy+'-'+mm+'-'+dd;
(function(){
document.getElementById("fm_deliverydate").onchange = function() {
dateEntered();
}
})();
function dateEntered(){
var userDateEntry = document.getElementById("fm_deliverydate").value;
if (hrs >= 10 && userDateEntry == date) {
alert("Shipping for today has ended. Your order will arrive tomorrow");
document.getElementById('fm_deliverytime').disabled= true;
}
else{
document.getElementById('fm_deliverytime').disabled= false;
}
}
</script>
变量日期=新日期();
var dd=date.getDate();
var mm=date.getMonth()+1;
var yyyy=date.getFullYear();
var hrs=date.getHours();
如果(dd如果您想将onclick事件监听器添加到html中,那么您实际上只需要删除您在dateenter函数中附加的onchange方法并将其移动到html中,然后就没有其他更改了
var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date = yyyy+'-'+mm+'-'+dd;
function dateEntered(){
var userDateEntry = document.getElementById("fm_deliverydate").value;
if (hrs >= 10 && userDateEntry == date) {
document.getElementById('fm_deliverytime').disabled = true;
} else {
console.log('shipping enabled');
document.getElementById('fm_deliverytime').disabled = false;
};
}
var-date=新日期();
var dd=date.getDate();
var mm=date.getMonth()+1;
var yyyy=date.getFullYear();
var hrs=date.getHours();
如果(dd)您在哪里添加change
侦听器?调用dateEntered
的位置在哪里?正如所写,此代码没有意义。是的,我没有看到dateEntered()之间的关系
和您的输入元素。您如何注册onchange
处理程序?您的代码中缺少一些关键元素。我最初在输入onchange中使用了dateenter()方法,我将其取出。我忘记了在脚本中处理此函数!
var date = new Date();
var dd = date.getDate();
var mm = date.getMonth()+1;
var yyyy = date.getFullYear();
var hrs = date.getHours();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
date = yyyy+'-'+mm+'-'+dd;
function dateEntered(){
var userDateEntry = document.getElementById("fm_deliverydate").value;
if (hrs >= 10 && userDateEntry == date) {
document.getElementById('fm_deliverytime').disabled = true;
} else {
console.log('shipping enabled');
document.getElementById('fm_deliverytime').disabled = false;
};
}
<input onchange="dateEntered()" type="date" name="DateName" id="fm_deliverydate" placeholder="yyyy-mm-dd"/>
<input type="time" name="TimeName" id="fm_deliverytime" placeholder="enter date"/>