2017-02-22 61 views
-2

編輯:因爲一些測試事實證明,​​返回的點分隔的數,它是在HTML <input type="number"/>其可視它作爲逗號由於區域設置後得到標題是誤導。 然後我使用<input type="text"/>並過濾keydown,就像這個答案的jQuery版本:html-text-input-allow-only-numeric-input指定號碼()小數點

原題: 我需要使用AngularJS ng-model把一些從JavaScript爲<input type="number"/> HTML標籤。 我有一個數字字符串與.作爲小數點分隔符,並直接將字符串放入輸入顯然給我一個錯誤(numfmt)。

問題是,我需要點號分開,但​​和parseFloat()只返回一個逗號分隔的數字(正確如此,根據意大利語區域設置)。

如何保留點分離而不必恢復爲<input type="text"/>?我需要type="number"上的自動輸入控制,我不想僅僅爲這個小東西使用庫。

我覺得這應該是js中的一個關鍵功能,但對於我而言,我在網上找不到任何東西。

+0

「_'Number()'和'parseFloat()'只回報一個逗號分隔的號碼_「我很確定他們沒有。 – Teemu

+0

爲了避免混淆,如果可以提供示例,這將有所幫助。 –

+0

@Teemu他們在意大利語區域瀏覽器中執行操作,正如我指定的。 出於同樣的原因,我無法提供示例,因爲這個問題是綁定到瀏覽器的區域 – Kitra

回答

0

這裏有一種方法,我可以將您的點轉換爲keyPress事件中的逗號。

這裏工作fiddle here

+0

Mine不是驗證問題,問題是我需要在輸入中輸入一個以點分隔的數字,並且js根據我的(意大利語)區域自動將帶點的數字字符串轉換爲逗號分隔的字符串 – Kitra

+0

再次檢查我使用的答案按鍵事件並將您的點轉換爲逗號。 –

+0

這個小提琴很酷,我可能會用其他一些,但你沒有聽到我的問題。我不在乎用戶是否將點更改爲逗號,我的問題是當角度模型(從控制器js端更改而不是用戶)包含點時,HTML輸入元素會自動將其顯示爲逗號 – Kitra