在输入[type ='number']上,Edge总是为`valueAsNumber`

时间:2015-12-13 12:51:51

标签: javascript html5 microsoft-edge

以下在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 ,如何使用此属性

2 个答案:

答案 0 :(得分:5)

Microsoft Edge在valueAsNumber上的行为已经破裂。这被报告为错误#669685。此外,设置valueAsNumber会产生InvalidStateException。

这已在Microsoft Edge 17682中修复,目前可在Windows Insider版本中使用。

答案 1 :(得分:3)

我不知道Edge为什么不支持valueAsNumber上的type="number",但它确实支持范围,周,月和日期:

&#13;
&#13;
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;
&#13;
&#13;