我可能会以错误的方式接近这一点,但我很困惑如何从input
的{{1}}对象中提取信息。
validityState
var input = document.querySelector('#myinput');
var validity = input.validity;
var keys = Object.keys(validity);
console.log( validity ); // [ object validityState ]
console.log( validity.valid ); // false (this is expected)
console.log( keys ) // empty array
console.log( keys.length ) // 0
我的主要问题是,如果我无法迭代<input type="text" id="myinput" required>
对象,如何找出哪个属性“失败”?
我错过了什么吗?
答案 0 :(得分:5)
请勿使用Object.keys()
。
您可以像这样简单地迭代您的有效状态:
var input = document.querySelector('#myinput');
var validity = input.validity;
for(var key in validity){
console.log(key + ": " + validity[key]);
}
&#13;
<input type="text" id="myinput" required>
&#13;
修改强>
Object.keys()
仅引用当前对象中的键,但未查看此对象的原型 。请注意,object.hasOwnProperty()
执行相同的测试
in
如果该属性出现在当前对象 或中,如果该属性存在于true >原型