HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled
Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更できないようにしたい場合もあります。たとえば、パスワード変更 Web ページでは、ユーザー名を表示するテキスト ボックスを変更できないようにする必要があります。

HTML で無効にする方法は 2 つあります。

1. コントロールタグにreadonly='readonly'属性を追加します。
2. コントロールタグにdisabled='disabled'属性を追加します。

例:


コードをコピー
コードは次のとおりです。

<input type="text" value="読み取り専用" readonly="読み取り専用" />
<input type="text" value="利用できません" disabled="無効" />


例のコントロールは両方とも編集できません。しかし、違いもいくつかあります。

文字通りの意味から、readonly 属性を持つコントロールは「読み取り専用」であり、disabled 属性を持つコントロールは「無効」であることがわかります。では、それらの違いは何でしょうか?

ユーザーは、マウスやキーボードを使用して読み取り専用コントロール (readonly 属性を使用するコントロール) の値を変更することはできませんが、プログラマーは JavaScript を使用して変更できます。フォームが送信されると、コントロールの名前と値がサーバーに送信され、サーバーに表示されるようになります。

無効なコントロール(disabled 属性を持つコントロール)は、ユーザーがマウスやキーボードで変更できず、サーバーからも見えません。つまり、フォームを送信しても、その名前と値はサーバーに送信されません。もちろん、プログラマーは JavaScript を使用して値を変更することもできます。

これがその違いです。違いを知った上で、どの方法をいつ使うべきかを知り、盲目になってはいけません。

<<:  MySQL の削除に基づく構文エイリアスの問題

>>:  Vue の基本リスナーの詳細な説明

推薦する

タブバーの切り替え効果を実現するJavaScript

タブバー: 異なるタブをクリックすると異なるコンテンツが表示され、クリックしたタブのスタイルが変更さ...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

MySQL 8.0 の新機能の分析 - トランザクション データ ディクショナリとアトミック DDL

序文トランザクション データ ディクショナリとアトミック DDL は、MySQL 8.0 で導入され...

時間を節約できる Linux コマンド エイリアス 15 個

序文Linux システムの管理と保守のプロセスでは、多数のコマンドが使用されます。非常に長いコマンド...

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

Nginx ポート競合を解決するトラブルシューティング方法の例

問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...

WeChatアプレットが計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...

Linux ディレクトリ切り替え実装コード例

ファイルの切り替えは Linux でよく行われる操作です。Linux を初めて学ぶときに最初に触れる...

JSはアニメーションのレイアウト変換を実装します

JS でアニメーションを記述する場合、移動前に相対位置を絶対位置に変換してからアニメーション機能を実...

MySQL の最適化: 高品質の SQL 文を書く方法

序文インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質にば...

JavaScript デザインパターンの学習 アダプタパターン

目次概要コードの実装要約する概要アダプタ パターンは、デザイン パターンの動作パターンのパターンです...

テーブルの最大幅と最小幅を設定する際の互換性の問題と解決策の詳細な説明

テーブル内の min-width と max-width プロパティの設定 <テーブル>...

MySQL がデータの削除と挿入に非常に時間がかかる問題の解決策

会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...

Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介

1. フィルター例: <!DOCTYPE html> <html lang=&qu...