如何从onchange获得价值? [英] How to get value from onchange?

查看:53
本文介绍了如何从onchange获得价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,如果从其他输入字段(日期)将日期设置为今天,那么我基本上是在尝试禁用其他输入字段.我似乎无法强迫onchange进入输入字段并将该值转换为变量来完成这项工作.

Hi I basically am trying to disable another input field if the day is set to today from another input field (date). I can't seem to force an onchange onto an input field and grab that value into a variable to make this work.

我已经成功地将onchange(this)放置在输入字段上,但是我必须将其取出并强制将JS onchange放在其上.

I've had success placing the onchange(this) onto the input field but I have to take it out and force a JS onchange onto it instead.

我尝试了以下代码.如您所见,应该在上午10点以上并将日期选择为今天时执行某些操作:

I've tried the following code. As you can see, it is supposed to do something when the time is past 10am and the date is selected as today:

<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" />

推荐答案

您没有正确附加事件.您可以使用 addEventListener 附加事件.

You aren't attaching the event correctly. You attach an event using addEventListener.

提琴: http://jsfiddle.net/AtheistP3ace/125jnvwp/1/

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");
userDateEntry.addEventListener('change',
    function () {
        if (hrs >= 10 && userDateEntry.value == 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;
        }
    }
);

这篇关于如何从onchange获得价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆