简体   繁体   中英

Passing an id through a function parameter

Trying to get a value of a textbox by passing the ID into a function parameter. Should be easy but can't wrap my head around it.

JavaScript:

function checkfield(id) 
    {
        var field = document.getElementById(id);

        if (isNaN(field) == true) 
            {
                alert('You must enter a valid number!');
                field.value = "0";
                field.focus(textbox);
                field.select(textbox);
                return false;
            }
        return true;

    }

HTML:

<input type="text" id="numbox19" name="customerZip" style="width: 240px" value=" " onchange="checkfield('numbox19')"/>

Error Message

Error: Unable to get property 'value' of undefined or null reference

您输入的ID是“ 19”而不是“ numberbox19”

Your ID is 19 , but you're passing numberbox19 to the Javascript function. There are also several syntax errors.

Try:

<input type="text" id="numberbox19" name="customerZip" style="width: 240px" value=" " onchange="checkfield(this)"/>

And Javascript:

function checkfield(field) // <-- we passed the field in directly from the HTML, using 'this'
{
    alert(field.value);

    if (isNaN(field.value)) // check the value, not the field itself!
    {
        alert('You must enter a valid number!');
        field.value = "0";
        field.focus(); // not "field.focus(textbox);"
        return false;
    }
    return true;

}

The good thing here is, if you ever decide to change the ID for any reason, you only have to change it in one place instead of two.

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