1

HTML5 使强制输入具有值变得容易:哇!这在 .NET Web 应用程序中会很棒。我快速实现了这一点,并注意到了一些有趣的事情。我新要求的输入字段是在单击提交按钮时强制执行的,并从使用浏览器的 enter-submits-the-form 功能的表单控件进行输入。当控件调用 __doPostback(最终调用 form.submit())时,我的新要求的输入不会被强制执行。

那是不对的!火狐怎么了?!但是,这就是它在 Chrome 中的工作方式,所以要么它们都错了,要么它们都错了,这是巧合。

那么谁能告诉我为什么这是有道理的?似乎这个简洁的属性永远不会在 .NET Web 应用程序中使用,因为提交表单的唯一其他方法是在浏览器不处理它时调用 __doPostback,这会导致所需的验证有时会发生。但在其他时候这是有道理的,例如在将用户导航到另一个页面之前将链接设置为回发到表单时:我们不希望用户在他们认为他们只是在导航离开时被卡住。

4

1 回答 1

2

我不能告诉你,为什么这是有道理的,但 FF 和 Chrome 对这种行为是正确的。如果您想对此进行验证,则必须触发提交按钮单击。

html5 验证还有一个奇怪的地方:checkValidity 方法不会调用原生验证 ui(在 Opera 中会调用,但这是违反规范的),尽管它会触发 invalid 事件。使用编程 API 来显示验证 ui 确实是一件很棒的事情,但用户可以看到它的唯一方法是通过交互式验证。

于 2011-07-19T20:51:28.913 回答