0
我有一個輸入類型=「數字」的形式,這給我在IE11中的問題:一些值被接受,而另一些則不是,顯然是隨機的。IE11和輸入類型=「數字」
下面的代碼:
<input type="number" style="text-align:right" min="1.00" placeholder="1,00" name="value-name" id="value" step="0.01" title="title" required/>
出於某種原因,IE11接受9.2,9.4,9.5,9.6,9.7,9.9,但拒絕9.3和9.8。這只是一個例子,所有數字都在發生,我不理解背後的原因。此外,一些數字在幾分鐘前被接受,但現在他們不再有了。
除此之外,所有以前的值都不應該有效,因爲我在歐洲,而,
是小數部分的分隔符,而不是.
。相反,當我使用,
時,IE不會將其轉換爲.
,並且當通過POST傳遞給PHP時,PHP的is_numeric()
將返回false!
我該如何使所有這些工作?謝謝
作爲解決方法,您可以用服務器端的點替換逗號 'return preg_replace(「/ [^ 0-9 \\。] /」,null,str_replace(「,」,「。」,$ string) );' – Rulisp
另外,我認爲你應該看看這個帖子在SO - https://stackoverflow.com/questions/15303940/how-to-handle-fl oats-and-decimal-separators-with-html5-input-type-number – Rulisp
我已經在服務器端添加了解決方法,閱讀你鏈接的文章,我決定通過添加'formnovalidate'到我的表單並用Javascript寫一個函數。我也決定去點作爲小數分隔符,因爲我在網頁上顯示的值也使用點。但是現在我又遇到了另一個問題,因爲如果我以「6.5」的形式編寫,然後在Javascript中執行'document.getElementById(「value」).value',Firefox會返回一個空字符串,因爲它只返回數字如果我用逗號作爲十進制分隔符來編寫它。 – RVKS