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

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

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

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

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

推薦する

HTML で 2 つの div タグの間に垂直線を描く方法

最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...

CSS3 の新しいレイアウト: flex の詳細な説明

Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...

ウェブデザインにおける画像フォーマットとデザインの関係を詳しく説明

なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...

nginx をシャットダウン/再起動/起動する方法

閉鎖サービス nginx 停止systemctl 停止 nginx起動するサービス nginx 開始...

HTML で入力プロンプトのテキスト スタイルを変更するためのサンプル コード

多くのウェブサイトでは、入力ボックスにヒントテキストが表示されています。入力ボックスにヒントテキスト...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

Nginx に React プロジェクトをデプロイする方法の例

テストプロジェクト: react-demo react-demo プロジェクトをサーバーにクローンし...

Docker-compose インストール db2 データベース操作

db2 データベースをホストマシンに直接インストールするのは面倒で、ユーザーや権限を巻き込むのも不便...

MySQL 5.7 zip版(zip版)のインストールと設定手順の詳細

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

JavaScript の絶妙なスネーク実装プロセス

目次1. HTML構造を作成する2. テーブルを作成する3. ヘビの頭と体を作る4. 食べ物を作る5...

http.server に基づく LAN サーバーの構築プロセスの分析

皆さんはこのような状況に遭遇したことがあるでしょうか。プロジェクトや研究開発を行う際に、緊急にファイ...

MYSQL スロークエリとログの例の説明

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

Vueデータ割り当て問題の解決

私が長い間遭遇してきた問題を要約してみましょう。プロジェクトでは、フロントエンドをレンダリングするた...