HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにします。しかし、それらの間には微妙な違いがあり、次のようにまとめられます。

Readonly は入力 (テキスト / パスワード) とテキストエリアにのみ有効ですが、disabled はすべてのフォーム要素に有効です。ただし、フォーム要素が無効にされた後、POST または GET 経由でフォームを送信すると、この要素の値は渡されませんが、readonly は値を渡します(readonly は値の変更を受け入れ、送り返すことができますが、disable は変更を受け入れますが、データを送り返しません)。

より一般的な状況は次のとおりです。

1. フォームでは、ユーザー固有の識別コードが事前に入力されており、ユーザーはそれを変更できません。ただし、送信時に値を渡す必要があります。この場合、その属性を readonly に設定する必要があります。

2. ユーザーがフォームを正式に送信した後、管理者が情報を確認するまで待つ必要があることがよくあります。これにより、ユーザーはフォーム内のデータを変更できず、表示のみが可能になります。disabled にはさまざまな要素があるため、このときに使用する必要があります。ただし、送信ボタンも無効にする必要があることに注意してください。そうしないと、ユーザーがこのボタンを押した限り、データベース操作ページで整合性チェックが実行されないと、データベース内の値がクリアされます。この場合、無効ではなく読み取り専用を使用すると、フォームに入力 (テキスト/パスワード) とテキストエリア要素のみがある場合は問題ありません。選択などの他の要素がある場合は、ユーザーは値を書き換えて Enter キーを押して送信できます (Enter はデフォルトの送信トリガー キーです)。

3.ユーザーが送信ボタンを押した後、送信ボタンを無効にするために JavaScript を使用することがよくあります。これにより、ネットワーク状態が悪い環境でユーザーが送信ボタンを繰り返しクリックして、データベースにデータが重複して保存されることを防ぐことができます。

disabled 属性と readonly 属性にはいくつかの類似点があります。たとえば、両方を true に設定すると、フォーム属性は編集できなくなります。js コードを書くときに、これら 2 つの属性を混在させるのはよくあることです。実際、これら 2 つの属性にはいくつかの違いがあります。

入力項目の disabled が true に設定されている場合、フォーム入力項目はフォーカスを取得できず、入力項目に対するすべてのユーザー操作(マウスクリックやキーボード入力など)が無効になります。最も重要な点は、フォームが送信されたときに、フォーム入力項目が送信されないことです。

Readonly は、テキストを入力できるテキスト入力ボックスなどの入力項目にのみ適用されます。trueに設定すると、ユーザーは対応するテキストを編集できなくなりますが、そのテキストにフォーカスすることはできます。また、フォームを送信すると、入力項目がフォームの項目として送信されます。

上記の記事では、HTML の入力の読み取り専用属性と無効属性の違いについて簡単に説明しました。エディターが皆さんと共有する内容はこれだけです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

元の URL: http://blog.csdn.net/playboyanta123/article/details/12682419#comments

<<:  17 個の JavaScript ワンライナー

>>:  MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

推薦する

要素の水平方向の中央揃えを実現する3つの方法と、固定レイアウトとフローレイアウトの概念の理解

CSS でテキストを中央揃えにするプロパティは非常に簡単に実現できます。text-align:cen...

ES5とES6の違いを分析する

目次概要関数シグネチャオプションパラメータ非厳密モード例外処理実用要約する概要ご存知のとおり、ES6...

JavaScript 文字列の一般的なメソッドの詳細な説明

目次1. キャラクター文法パラメータ索引戻り値2. 連結文法パラメータ文字列2 [, …文字列N]戻...

HTML でフォーム入力やその他のテキスト ボックスを読み取り専用にして編集不可にする方法

場合によっては、フォーム内のテキスト ボックスを読み取り専用にして、ユーザーがその中の情報を変更でき...

IE6 で JS エラーが発生し、CSS が適用されない HTML エンコードの問題の解決策

テストでは、ページ定義がutf-8でエンコードされている場合、 js ファイルに中国語などのマルチバ...

Mysql の主キーと一意キーの違いのまとめ

主キーとは何ですか?主キーは、テーブル内の各タプル (行) を一意に識別するテーブル内の列です。主キ...

vue+element-uiはヘッドナビゲーションバーコンポーネントを実装します

この記事では、vue+element-uiでヘッドナビゲーションバーコンポーネントを実装するための具...

Linuxでシンボリックリンクを削除(削除)するコマンド

Linux では、シンボリック リンクを作成または削除する必要がある場合があります。もしそうなら、何...

Windows Server 2012 リモート デスクトップ ライセンス サーバーがライセンスを提供できず、リモート セッションが切断される

本日、会社の内部サーバーにログインしたところ、リモートアクセスができませんでした。エラー メッセージ...

MySQL の完全なデータベース バックアップからデータベースとテーブルを復元する方法

公式の MySQL ダンプ ツールで、特定のデータベースのみを復元するにはどうすればよいですか?完全...

CentOS 7.9 の zabbix5.0.14 のインストールと設定プロセス

目次1. 基本的な環境設定2. データベースをインストールする3. zabbix関連コンポーネントを...

Vueはカウントダウン機能を実装する

この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています...

MySQL インデックス プッシュダウンを 5 分で理解する

目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...

デザイン理論:人間中心のデザインコンセプト

<br />思想が東西に分かれていた時代、東洋の叡智を代表するものの一つとして「禅」は多...

TypeScript の Enum が問題となる理由

目次どうしたの?いつ使うか列挙の数を制御するビット値コントロールインデックス非数値列挙結論はType...