• 解決済 ur0xx00

    (@ur0xx00)


    Contact Form 7のバージョンを6.0.0にアップデート後、電話番号を必須にしていると、入力後に次の項目に移ると「電話番号を入力してください。」とアラートが出て、必須を満たせなくなります。
    PHPは7.4です。

    同じような症状をご存知の方はいらっしゃいますでしょうか。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • モデレーター Yukinobu Asakawa

    (@yukinobu)

    こんにちは。
    こちらの開発・検証環境で、PHP7.4のバージョンで、CF7の電話番号必須にして検証しました。
    問題が再現できていません。
    問題のフォームを埋め込んでいるサイトのページを共有していただけますか?

    トピック投稿者 ur0xx00

    (@ur0xx00)

    @yukinobuさん、ご連絡ありがとうございます。

    以下がURLです。ページ最下部に入力フォームがあります。
    https://tc-cup.uchimedia.com/

    ご確認よろしくお願いいたします。

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    共有ありがとうございます。
    ページを確認すると、エラー出力されていました。

    Incorrect use of <label for=FORM_ELEMENT>
    The label's for attribute refers to a form field by its name, not its id. This might prevent the browser from correctly autofilling the form and accessibility tools from working correctly.

    To fix this issue, refer to form fields by their id attribute.

    1 resource
    Label
    Learn more: HTML Standard

    The label’s for attribute doesn’t match any element id.

    原因: タグの for 属性が、フォーム内の対応する入力フィールド (input や textarea など) の id 属性と一致していないことが原因と考えられます。
    HTMLコードを拝見すると、label タグと対応する for 属性が含まれていないようなので、以下のように変更して、エラーが解消されるかをご確認いただけますか?

    <p>
    <label for="tel-01">電話番号(最初の4桁)</label>
    <span class="wpcf7-form-control-wrap" data-name="tel-01">
    <input size="40" maxlength="4" id="tel-01" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel" aria-required="true" aria-invalid="false" value="" type="tel" name="tel-01" />
    </span>
    <span class="form-subtxt01">-</span>

    <label for="tel-02">電話番号(次の4桁)</label>
    <span class="wpcf7-form-control-wrap" data-name="tel-02">
    <input size="40" maxlength="4" id="tel-02" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel" aria-required="true" aria-invalid="false" value="" type="tel" name="tel-02" />
    </span>
    <span class="form-subtxt01">-</span>

    <label for="tel-03">電話番号(最後の4桁)</label>
    <span class="wpcf7-form-control-wrap" data-name="tel-03">
    <input size="40" maxlength="4" id="tel-03" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel" aria-required="true" aria-invalid="false" value="" type="tel" name="tel-03" />
    </span>
    </p>

    修正のポイント

    1. label タグの追加
      • 各入力フィールドに関連付ける label タグを追加しました。
      • for 属性には、それぞれの入力フィールドの id を指定しています。
    2. id 属性の追加
      • 各入力フィールドに固有の id 属性 (tel-01, tel-02, tel-03) を設定しました。

    なお、Contact Form 7のショートコードから生成している場合には、フォームの設定画面で以下のように修正します。


    [tel* tel-01 id:tel-01] -
    [tel* tel-02 id:tel-02] -
    [tel* tel-03 id:tel-03]

    この設定により、対応するHTMLコードに id が追加されます。あとは、適切なカスタムHTMLでラベルを含むマークアップを記述してください。

    トピック投稿者 ur0xx00

    (@ur0xx00)

    詳細に調査いただきありがとうございます。

    教えていただいたようにしましたが、エラーは解消されませんでした。
    記述に間違いがありますでしょうか。

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    うーん。
    問題の切り分けのために、テストページ(固定ページ or 投稿)とテスト用のフォームを作ってみてください。
    そして、電話番号の部分を上記で共有しているコードで試してみてください。

    • 氏名
    • 電話番号
    • メッセージ

    あと、貼り付けてくださった画像を拝見すると、コードの中に全角のスペースが混入しているのでは?と思いましたが、そんなことはありませんか?

    トピック投稿者 ur0xx00

    (@ur0xx00)

    エラーが解消されました!
    https://tc-ladies.uchimedia.com/xxxx/

    いただいたコードのままでは<br>が入って改行されたので、見にくいですが、1行にしました。

    これまでは<label>なしでも問題ありませんでしたが、今後は電話番号は<label>で紐付ける必要があるのでしょうか?
    郵便番号があった場合も同様にすべきでしょうか?

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    まずはエラー解消されてようで良かったです。
    今、手が離せいないので、また後ほど返信します。

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    遅くなりました。
    フォームの入力要素には <label>が必要かどうかのご質問ですが、すべての入力フィールドには適切に構成されたlabel タグを設定することが推奨されていると認識しています。
    この分野を専門にしているわけではありませんので、その点はご了承ください。

    歯切れが悪くて申し訳ないですが、私よりも詳しい有識者からのコメントがあるかもしれません。

    トピック投稿者 ur0xx00

    (@ur0xx00)

    チェックボックスやラジオボタンがあるところは<label>を使っていますが、for属性やid属性での紐付けはしていませんでした。

    おかげさまで問題が解決しました。

    @yukinobuさん、この度はお忙しい中ご丁寧に教えていただき、ありがとうございます。

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    ご確認ありがとうございます。
    最後にお手数ですが、このトピックを「解決済み」としてクローズしていただけますか。

    他の質問者の方に解決済みトピックが役に立つことがあるためです。
    サポートフォーラムは、皆さんのご協力によって成り立っています。ありがとうございます。

    トピック投稿者 ur0xx00

    (@ur0xx00)

    承知いたしました。

    解決しましたので、トピックを閉じます。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • このトピックに返信するにはログインが必要です。