input type=time根據MDN,我有一個非常簡單的有效時間值:
:invalid { border-color: red; }
<input type="time" value="00:00:00.750" onchange="console.log(this.validity)" />
如果我只是運行代碼段 (Safari)并編輯值 (Firefox 93),無論我將其編輯為什么,之后輸入都將被視為無效,并且存在 "stepMismatch": true有效性失敗原因(Safari 15、Firefox 93 和 94、MacOS 12)。
這里發生了什么?step甚至如何為這種輸入型別作業,以及如何擺脫無效狀態?
uj5u.com熱心網友回復:
根據MDN,stepan的默認屬性input[type=time]等于60,以秒為單位。
這意味著在沒有明確step屬性的情況下,時間只能以一分鐘的倍數進行更改。
在step與工程min屬性(如果存在),或value屬性否則,所以設定初始value="00:00:00.750"意味著只有是為750ms過去給定分鐘被認為是有效的,和根據瀏覽器和值如何顯示輸入,這可能甚至是不可能為用戶做。
設定step="1"將為您提供根據需要設定時間的秒部分的選項,并且step="0.001"還應該讓您設定毫秒。step="any"也是一種選擇,但目前還沒有明確定義。我個人認為這意味著它基本上完全禁用了解析度檢查,但瀏覽器可能不同意。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/349212.html
標籤:javascript html 验证 html-输入
上一篇:驗證JavaPOJO中的欄位值
下一篇:驗證不適用于貓鼬模式
