HTML 输入元素 (field.validate) 始终未定义
Posted
技术标签:
【中文标题】HTML 输入元素 (field.validate) 始终未定义【英文标题】:HTML Input element (field.validate) is always undefined 【发布时间】:2016-01-27 03:12:57 【问题描述】:我有两个用onblur
事件定义的文本框。在按下 Tab 时,每当 onblur
事件被调用时,field.validate
总是 undefined
。
同时,当我尝试打印 field.name
或 field.getAttribute("validate")
时,它确实返回了正确的值。
<input type="text" name="NV_active" id="NV_active" value="5" onblur="return doValidate(this);" validate=" return validateValueField(document.getElementById('NV_active'), 'Active' );">
<input type="text" name="NV_throttled" id="NV_throttled" value="15" onblur="return doValidate(this);" validate=" return validateValueField(document.getElementById('NV_throttled'), 'Throttled' );">
function doValidate(field)
console.log("field.validate- " + field.validate); //always printing undefined
console.log("getAttr- " + field.getAttribute("validate")); //return validateValueField(document.getElementById('NV_active'), 'Active' );
if (field.validate != null)
var f = new Function(field.validate);
return f();
return true;
function validateValueField(field, displayName)
if ((field.name == 'NV_activePollingInterval') || (field.name == 'NV_throttledPollingInterval') )
//some validation code and error alert message
我无法弄清楚为什么它总是未定义。
【问题讨论】:
【参考方案1】:使用field.getAttribute('attr')
检索DOM 元素属性的值。
使用field.attr
检索DOM 元素的属性 attr
,它们并不总是相同的东西。
我建议您检查这个 SO 问题:getAttribute() versus Element object properties? 和接受的答案,它应该对您有所帮助。
【讨论】:
以上是关于HTML 输入元素 (field.validate) 始终未定义的主要内容,如果未能解决你的问题,请参考以下文章