尝试通过将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')"/>
错误消息
错误:无法获取未定义或空引用的属性“值”
答案 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,您只需在一个地方而不是两个地方更改它。