2015-12-13 5 views
7

ためNaN`は以下の`返ししかしエッジで、それはNaN関係なく、入力[タイプ=「数」]エッジは常に `valueAsNumber`

document.querySelector('button').addEventListener('click', function(){ 
 
\t alert(document.querySelector('input').valueAsNumber); 
 
});
<input type='number' value='34'> 
 
<button> 
 
    Alert number 
 
</button>
に警告する、ChromeとFirefoxで正常に動作します

今、私は(parseFloat(el.value)を使用すると、そのトリックを行います)は、この問題を解決する方法を求めていないよ、私は最も基本的な機能は動作していないようならば、のためvalueAsNumberを実装したものをエッジが求めています。同様に、Edgeに従ってこのプロパティーを使用することになっています()。

+0

Edgeバージョンは何ですか? 'Edge 13'は' valueAsNumber() 'をサポートしています – Cattla

+0

@Cattla Ehm、私はちょうど' NaN'を返していると言いましたので、明らかにサポートされています(サポートされていないプロパティは未定義です;-))。 Edgeバージョンではなく、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

マイクロソフトエッジがありますvalueAsNumberで動作が壊れています。これはバグ#669685として報告されています。さらに、valueAsNumberを設定すると、InvalidStateExceptionが生成されます。