Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 527
Arepa Slayer Avatar asked Jul 15 '13 18:07

Arepa Slayer


1 Answers

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/

like image 51
Diodeus - James MacFarlane Avatar answered Oct 26 '22 07:10

Diodeus - James MacFarlane