以下在Chrome和Firefox中运行良好,但在Edge中,无论输入是什么,它都会提醒NaN
document.querySelector('button').addEventListener('click', function(){
alert(document.querySelector('input').valueAsNumber);
});
<input type='number' value='34'>
<button>
Alert number
</button>
现在,我不询问如何解决这个问题(使用parseFloat(el.value)
做了这个伎俩),但是我问的是,如果最大的话,Edge会实现valueAsNumber
基本功能似乎不起作用。如同,根据Edge ,如何使用此属性。
答案 0 :(得分:5)
Microsoft Edge在valueAsNumber
上的行为已经破裂。这被报告为错误#669685。此外,设置valueAsNumber
会产生InvalidStateException。
这已在Microsoft Edge 17682中修复,目前可在Windows Insider版本中使用。
答案 1 :(得分:3)
我不知道Edge为什么不支持valueAsNumber
上的type="number"
,但它确实支持范围,周,月和日期:
document.addEventListener('click', function(e) {
if(e.target.nodeName === 'BUTTON') {
alert(e.target.previousElementSibling.valueAsNumber);
}
});
&#13;
<p><input type="range" value="15"> <button>Alert number</button></p>
<p><input type="week" value="2015-W50"> <button>Alert number</button></p>
<p><input type="month" value="2015-12"> <button>Alert number</button></p>
<p><input type="date" value="2015-12-12"> <button>Alert number</button></p>
&#13;