【发布时间】:2021-07-17 18:16:48
【问题描述】:
这是一个使用 jquery 非侵入式验证的 asp.net framework 4.8 mvc 应用程序。我使用的是 Chrome v90.0.4430.85 64 位,但在最新版本的 Edge 中也会出现同样的问题。
从今天早上开始,如果您使用鼠标单击日期输入,则输入不会提供任何视觉线索表明它已获得焦点。日期输入的数字(黄色突出显示)似乎不再可编辑;光标不会出现在输入中,并且数字不再突出显示为可以进行编辑的视觉指示。从外观上看,编辑日期的唯一方法是单击日历图标。从表面上看,似乎没有任何方法可以清除日期。
这是为此日期输入生成的 html,这对于我们应用程序中的所有日期输入都很典型,现在所有这些都以相同的方式运行。
<input class="text-box single-line ea-triggers-bound valid"
data-val="true"
data-val-date="The field Expiration Date must be a date."
data-val-expirationdaterequired="When the line is escrowed Expiration Date is required."
data-val-expirationdaterolled="You cannot roll expiration date forward equal to or greater than the
policy term."
id="Expiration_Date"
name="Expiration_Date"
type="date"
value="2021-03-02" aria-describedby="Expiration_Date-error" aria-invalid="false">
如果我恢复到 Chrome v85,它可以正常工作:当我点击日期输入时,我可以看到它获得焦点。这个版本的 Chromium 也仍然可以正常工作:https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/843807/
我在上面说“外观”是因为如果我点击数字然后开始输入,输入会立即正确响应;我可以编辑日期数字或删除它们。但是,如果您使用鼠标单击日期输入,则不再有任何视觉指示表明日期输入具有焦点。
此问题仅在使用鼠标单击日期输入时发生。如果我在页面上从输入到输入进行选项卡,则日期输入正确地获得焦点。
【问题讨论】:
-
这与 ASP.NET 无关,但似乎是 Chrome 90 中的一种新行为。例如,Mozilla 开发网络上的 here 也会发生。
标签: javascript html asp.net-mvc date unobtrusive-validation