これは、fieldset 要素を使用して 2 つのセクションに分割された標準の HTML フォームです。1 つのセクションでは、名前、電子メール アドレスなどを入力し、2 つ目のセクションでは、住所のオートコンプリート機能の郵便番号を入力します (2 つ目のセクションの郵便番号ルックアップ フィールドには必須属性がありません)。
各セクションには、独自の送信ボタンがあります。最初のセクションの各フィールドには、HTML5 必須属性を持つフォーム フィールドがあります。
私の質問は、ユーザーが最初のセクションに何も入力せずに郵便番号検索フィールドに郵便番号を入力すると、フォーム内のすべてのフィールドがこの属性をサポートしていないブラウザー (Firefox 3.6 など) に送信されるということです。Firefox 4 (たとえば) では、required 属性を尊重し、required 属性を持つ空のフィールドがある場合、フォームの送信を防ぎます。ただし、これにより、フォームのエラーチェックと検証の実装(サーバー側、PHP)が壊れます。
それで、2番目のセクションの送信ボタンが押されたときに最初のセクションの「必須」属性を無視するようにブラウザに指示できる方法はありますか?
これが必須属性のポイントに反する可能性があることは理解していますが、特定の順序で入力する必要がないようにフォームを作成しました。詳細ですが、required 属性は現在、ユーザーに特定の方法でフォームを完成させることを強制していますが、そうする必要はありません。
また、どのソリューションも JavaScript なしで機能する必要があります。郵便番号ルックアップ セクションを Ajax に置き換えることを推奨する回答には言及しないでください。これは許可されていないオプションであると判断されました。