2015-12-13 34 views
7

下在Chrome和Firefox浏览器工作正常,但是在边缘它会提醒NaN无论输入上输入[类型=“号”]边缘总是返回`NaN`为`valueAsNumber`

document.querySelector('button').addEventListener('click', function(){ 
 
\t alert(document.querySelector('input').valueAsNumber); 
 
});
<input type='number' value='34'> 
 
<button> 
 
    Alert number 
 
</button>

现在,我询问如何解决这一问题(使用parseFloat(el.value)做那招),不过,我问什么边缘没有实现valueAsNumber因为那时如果最基本的功能似乎并没有工作。如在中,根据Edge,应该如何使用这个属性

+0

你的Edge版本是什么? '边缘13'支持'valueAsNumber()' – Cattla

+0

@Cattla Ehm,我只是说它正在返回'NaN',显然它被支持(不受支持的属性是未定义的;-))。另外我想你是在谈论EdgeHTML版本,而不是Edge版本。无论哪种方式:边缘25和EdgeHTML 13 –

回答

1

我不知道为什么边缘不上type="number"支持valueAsNumber,但它支持它的范围,星期,月份和日期:

document.addEventListener('click', function(e) { 
 
    if(e.target.nodeName === 'BUTTON') { 
 
    alert(e.target.previousElementSibling.valueAsNumber); 
 
    } 
 
});
<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>

+1

这让人觉得它太神奇了。 –

1

微软Edge是在valueAsNumber上破坏了行为。这被报告为bug #669685。另外,设置valueAsNumber会产生InvalidStateException。