1. ホーム
  2. html

[解決済み] 名前が''の無効なフォームコントロールはフォーカスされない

2022-02-02 23:11:48

質問

Google Chromeで、一部の顧客が私の決済ページに進むことができません。 フォームを送信しようとすると、このエラーが表示されます。

<ブロッククオート

名前=''の無効なフォームコントロールは、フォーカスできません。

JavaScriptのコンソールからです。

この問題は、hidden フィールドが required 属性を持っていることが原因である可能性があると読みました。 問題は、私たちが.net webforms required field validatorを使用していること、そしてhtml5のrequired属性ではないことです。

このエラーが発生する人はランダムなようです。 どなたか解決策をご存知の方はいらっしゃいますか?

解決方法は?

この問題は、Chrome でフォームフィールドのバリデーションに失敗した場合に発生します。 このフィールドに入力してください。 の隣も同様に失敗します。

フォームコントロールは、いくつかの理由により、検証が行われるときにフォーカスできないことがあります。以下に説明する2つのシナリオは、最も顕著な原因です。

  • ビジネスロジックの現在のコンテキストによると、フィールドは無関係である。このような場合、それぞれのコントロールは無効にするか、DOM から削除するか、あるいは required 属性を使用します。

  • が押された場合、早期のバリデーションが発生することがあります。 入力 キーを入力します。または、フォームのボタンや入力コントロールに type 属性を正しく設定します。もしボタンのtype属性が button という理由で、Chrome(または他のブラウザ)はボタンがクリックされるたびに検証を実行します。 submit は、ボタンのデフォルト値である type 属性で指定します。

この問題を解決するために、ページ上にあるボタンが 送信 または リセット は、常に忘れずに行ってください。 <button type="button"> .