ラベルタグの使用時に発生する問題の分析と解決策

ラベルタグの使用時に発生する問題の分析と解決策
最近何かをするときにラベル タグを使用しました。以前はラベル タグをほとんど使用していなかったため、非常に奇妙な問題が発生しました。何が問題なの?効果を見てみましょう

ヒント: 実行前にコードの一部を変更することができます

このデモの目的は、ログイン ボタンをクリックしたときにユーザーが入力したユーザー名とパスワードが有効かどうかを確認することです。有効でない場合は、ユーザー名入力ボックスの下にエラー メッセージが表示されます。
エラー情報を促す要素はラベルを使用して実装される予定です。

コードを実行してデモ ページを開き、ログイン ボタンをクリックして、どのような変更が行われるかを確認します。 Firefox、Chrome、または IE9+ を使用している場合、ログイン ボタンをクリックすると、「ユーザー名が間違っています」というメッセージが表示されますが、これは望ましい結果です。 IE6、7、8をお使いの方は、どのような変更が行われるか確認してみてはいかがでしょうか。この時点では、ページには何も情報が表示されません。開発者ツールを開いてコントロールを確認します。この時点で、「SCRIPT600: 不明なランタイム エラー」というエラー メッセージが表示されていることがわかります。この問題に遭遇したとき、innerText と innerHTML の両方の方法を試したところ、どちらの方法でも同じエラーが報告されました。使い方が間違っていると思ったので、w3cschool で確認したところ、innerText と innerHTML はサポートされていないとは書かれていませんでした。

Firefox、Chrome、IE9+ (他のブラウザは試していません) では正常に動作するのに対し、IE6、7、8 ではこのエラーが表示されるのはなぜですか?注意深い人ならすぐに問題に気付くかもしれません。「ユーザー名が間違っています」というメッセージが表示される要素の開始タグが、label ではなく「lable」と書かれています。しかし、当時はこの問題に気付きませんでした。label タグの使用方法に問題があるとばかり思っていました。IE6、7、8 の JS エンジンでは、タグ名が間違っている要素の innerText 属性と innerHTMl 属性を操作するとエラーが発生するのに、Firefox、Chrome、IE9+ ではエラーが発生しないのはなぜか、よくわかりません。詳しい方がいらっしゃいましたら、教えてください。

この問題は実際にはかなり低レベルで、ラベル名が間違って記述されていました。しかし、当時は気付きませんでした。後になってよく調べてみてこの問題に気づいたので、記録しておきました。

<<:  Vueフロントエンドパッケージングの詳細なプロセス

>>:  単一の MySQL テーブルで数千万のデータを処理するアイデアを共有する

推薦する

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

Vueは買い物数量を変更できるショッピングカートを実装します

この記事では、Vueを使用してショッピングカートの数量を変更する方法を紹介します。具体的な内容は次の...

1つの記事でJavaScriptのクロージャ関数について学ぶ

目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...

bash のスクリプトデバッグメカニズムの詳細な説明

スクリプトをデバッグモードで実行するbash -x <script> を使用すると、スク...

期間限定フラッシュセール機能を実現するJavaScriptタイマー

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

Centos7 システムに k8s クラスターを展開するための詳細な紹介

目次1 バージョンと計画1.1 バージョン情報: 1.2 クラスター計画2. 展開1. ファイアウォ...

MySQLデータベース監視binlogを有効にする手順

序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...

Node.jsを使用してホットリロードページを実装する方法の詳細な説明

序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...

MySQL データベースの必須条件クエリ ステートメント

目次1. 基本的な文法2. 条件式によるフィルタリング3. 論理式によるフィルタリング4. あいまい...

Nginx プロキシ axios リクエストと注意事項

序文最近、小さなデモを作成しました。大規模な工場のオンライン データを使用したため、インターフェイス...

MySQL InnoDB ReplicaSet の簡単な紹介

目次01 InnoDBレプリカセットの紹介02 InnoDBレプリカセットの制限03 導入前に知って...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

Windows 64 ビット版の MySQL 8.0.15 インストール チュートリアル

まず公式サイトにアクセスしてダウンロードし、MySQLダウンロードをクリックします。 ダウンロードし...

5分でReactルーティングについてお教えします

目次ルーティングとは純粋コンポーネントの基本的な使用純粋なコンポーネントの使用に関する注意事項ルーテ...