通过函数参数传递id

时间:2013-11-25 18:29:32

标签: javascript html5 function getelementbyid

尝试通过将ID传递给函数参数来获取文本框的值。应该很容易,但不能把头包裹起来。

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

错误消息

  

错误:无法获取未定义或空引用的属性“值”

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

您的ID为19,但您正在将numberbox19传递给Javascript函数。还有一些语法错误。

尝试:

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

和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;

}

这里的好处是,如果您因任何原因决定更改ID,您只需在一个地方而不是两个地方更改它。