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

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

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

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

コードを実行してデモ ページを開き、ログイン ボタンをクリックして、どのような変更が行われるかを確認します。 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 テーブルで数千万のデータを処理するアイデアを共有する

推薦する

React Hooks の一般的な使用シナリオ (概要)

目次1. ステートフック1. 基本的な使い方2. 更新3. 合併を実現する4. 遅延初期化状態5. ...

HTMLページのヘッダーコードは完全に明確です

以下のコードはすべて <head>...</head> の間にあり、具体的な...

Google の新しい UI から学べること (画像とテキスト)

2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...

iframe を更新する 3 つの方法

コードをコピーコードは次のとおりです。 <iframe src="1.htm&quo...

Vueはグラフィック検証コードを実装する

この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...

MySQL 8.0 エラー サーバーがクライアントに不明な認証方法を要求しました 解決策

最新バージョンのMySQL 8.0.11をインストールした後、ユーザーを作成して認証します。認証され...

MySQL ページング中にオフセットが大きすぎる場合の SQL 最適化の経験の共有

問題を見つけるコンテンツをリストで表示すると、リスト内のコンテンツの数は多いかもしれませんが、ユーザ...

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...

Tomcatのクラスロードメカニズムを説明する記事

目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル

私は頻繁にシステムをインストールするので、インストールのたびにいくつかのソフトウェアを再インストール...

Docker で SVN サーバーを構築するチュートリアル

SVN は Subversion の略称で、ブランチ管理システムを使用して効率的に管理するオープンソ...

MySQL 一時テーブルの簡単な使用法

MySQL 一時テーブルは、一時的なデータを保存する必要がある場合に非常に便利です。一時テーブルは現...

パフォーマンスの最適化を教える 52 個の SQL 文

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

メタタグコードを使用して、360 デュアルコアブラウザを互換モードではなく高速モードにデフォルト設定します。

あるウェブサイトでは、ユーザーが WebKit カーネルでページを開くことを期待して、HTML5 と...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...