2017-04-13 133 views
1

我試圖使用MVC中輸入數字,它正確地接受逗號(我在用逗號作爲小數點分隔文化)和MVC接受它用我製作的自定義聯編程序。該值正確保存在數據庫中,然後返回。HTML 5號輸入不顯示小數

的問題是,經過十進制值,它看起來像0.231數目控制的時候,我想它會嘗試它用逗號格式化爲我的文化和不工作,所以會出現什麼。

粘合劑適用於回服務器,但我還需要在返回控制它在返回頁面工作,其他的東西?

我控制在Razor視圖:

@Html.EditorFor(model => model.DecimalValueForExample, new { htmlAttributes = new { @class = "form-control", @type = "number", @step = "any", @min = "0.001", autocomplete = "off" } }) 

我在視圖模型屬性:

 [Display(Name = "DecimalValueForExample", ResourceType = typeof(Properties.Resources))] 
     [DisplayFormat(DataFormatString = "{0:0.###}", ApplyFormatInEditMode = true)] 
     [Range(0.001, double.MaxValue, ErrorMessageResourceName = "RangeErrorMessage", ErrorMessageResourceType = typeof(Properties.Resources))] 
     [Required] 
     public decimal DecimalValueForExample{ get; set; } 
+0

我認爲HTML5''效果最佳整數,小數不是數字。在w3schools上試試:https://www.w3schools.com/html/html_form_input_types.asp – mortb

+0

它使用十進制正常工作,我只是在這裏保存了一個例子:https://www.w3schools.com/code/tryit.asp? filename = FELCCBVINC0P –

+0

是的,你說得對。我錯過了步驟=「任何」部分。 – mortb

回答

1

這已經在過去的瀏覽器合規性問題和支持的各級瀏覽器之間變化,操作系統。 我發現的最後一張圖是在Chrome上支持大約12個版本,當時在Windows上不支持逗號。 HTML5 number inputs – Comma and period as decimal marks

有一些JS的解決方法已經出現了聽爲好, html tag input of type=」number」 and culture based decimal separator

+0

我目前使用歌劇,並輸入數字時,逗號被接受,我認爲問題是當它回來,它有問題接受。來自十進制數。 –

+0

這適用於輸入:http://i.imgur.com/NPeDEEP.jpg –

+0

你可能想嘗試添加「lang」屬性到輸入元素沿着幫助瀏覽器。 我一般寫的大部分手我的表單元素和僅填充從模型中的價值部分,以及分離這些類型的輸入,使他們不必來逐步所有組合 –