简体   繁体   中英

HTML input textbox onChange not working

This is what I have:

<script language="JavaScript">
    function toggle() {
        if (this.value=='1') {
            document.getElementById('dbOn').style.visibility='visible';
        }
        else {
            document.getElementById('dbOn').style.visibility='hidden';
            document.getElementById('dbOff').checked='checked';
        }
    }
</script>

<form action="index" method="post">
    <input type="text" name="iterations" value="1" onChange="toggle()" >

    <input type="radio" name="db" value="OFF" checked="checked" id="dbOff" >OFF<br>
    <input type="radio" name="db" value="ON" id="dbOn" >ON
</form>

The idea is that you will only be allowed to write to the database if you are doing one iteration. Otherwise, I want the "ON" option to become disabled or disappear and for OFF to be checked automatically.

So far, I have tried onChange, onKeyUp and onKeyPress, but none of them appear to work. Any idea what is wrong with my code?

Thanks

You need to pass a reference to your element when calling the function.

onchange="toggle(this)"

You'll also need a variable for the value in your function:

function toggle(element) {
        if (element.value=='1') {
  ...

}

DEMO: http://jsfiddle.net/axxCH/1/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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