我有一个标准的 HTML 表单,它使用 fieldset 元素分为两个部分。一部分是输入姓名、电子邮件地址等,第二部分是输入地址自动完成功能的邮政编码(第二部分中的邮政编码查找字段没有必需的属性)。
每个部分都有自己的提交按钮。第一部分中的每个字段都有一个带有 HTML5 必需属性的表单字段。
我的问题是,当用户在邮政编码查找字段中输入他们的邮政编码而不在第一部分输入任何内容时,表单中的所有字段都会在不支持此属性的浏览器中提交(例如 Firefox 3.6)。在 Firefox 4 中(例如),它尊重 required 属性,如果有带有 required 属性的空字段,它会阻止提交表单。但是,这破坏了我对表单的错误检查和验证的实现(服务器端,在 PHP 中)。
那么,当第二部分的提交按钮被按下时,有没有办法告诉浏览器(在这种情况下)忽略第一部分的“必需”属性?
我知道这可能与 required 属性的观点背道而驰,但我已经构建了表单,因此不必按特定顺序完成,即用户可以选择在输入他们的个人之前完成邮政编码查找字段详细信息,但 required 属性当前强制用户以某种方式完成表单,而没有必要这样做。
此外,任何解决方案都必须能够在没有 JavaScript 的情况下工作。请不要提及任何主张用 Ajax 替换邮政编码查找部分的答案,我已决定这是不允许的选项。