javascript - HTML 输入元素 (field.validate) 始终未定义

标签 javascript html forms dom

我有两个使用 onblur 事件定义的文本框。按 T​​ab 时,每当调用 onblur 事件时,field.validate 始终为 undefined

同时,当我尝试打印 field.namefield.getAttribute("validate") 时,它确实返回了正确的值。

<input width="100%" type="text" name="NV_active" id="NV_active" value="5"  onblur="return doValidate(this);" validate=" return validateValueField(document.getElementById('NV_active'), 'Active' );">

<input width="100%" 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
    }
}

我无法弄清楚为什么它总是未定义。

最佳答案

使用 field.getAttribute('attr') 您可以检索 DOM 元素属性的

使用 field.attr 您可以检索 DOM 元素的属性 attr,但它们并不总是相同的东西。

我建议您检查这个问题:getAttribute() versus Element object properties?和接受的答案,它应该对你有帮助。

关于javascript - HTML 输入元素 (field.validate) 始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33372543/

相关文章:

javascript - 将屏幕上的 div 定位为特定形状

javascript - Jquery 的某些功能在 IE 中不起作用

javascript - 预览数据表格

javascript - 将原型(prototype) Ajax 调用转换为 jQuery(添加表单参数和加载函数)

javascript - 在 Javascript 中处理二进制数据 (Firefox)

javascript - 如何让我的 JavaScript 更易于维护?

javascript - 修复将流体容器网格中的最后一行元素居中,以便在容器保持居中时左对齐

html - 需要让我的文字适合 div 图像

html - 如何在 bootstrap 中将列居中?

javascript - 将文本从表单发送到 Canvas 元素中的文本时,删除文本不起作用