什么会导致我的 html5 表单在页面加载时进行验证?

What would cause my html5 form to validate on page load?

标题问的差不多了。我有一个打开时为空的表格。它上面有一个具有 required 属性的输入。但是由于某种原因 HTML 在用户触摸该字段之前将 :invalid 伪类应用于此空输入。谁能说出发生这种情况的一些原因?我将断点放入我的验证函数中,其中 none 在加载时执行。

在有人问之前,post 真的不可能为此编写代码。我真的只是在寻找一些可能的原因来开始调试它。

提前致谢

<input> 标记中的 HTML required 属性指定在提交表单之前必须填写输入字段。删除此属性应该可以解决您的问题。我认为 HTML 标记是相当宽松的,不应该对其进行太多调试。

最好使用验证服务,例如 W3C Validation Service

您可以使用 novalidate,但它不会阻止添加 :invalid 伪类。我删除了必需的属性并使用 js 处理所有验证。