1. ホーム
  2. html

[解決済み] HTMLフォームの入力欄のdisabled="disabled "とreadonly="readonly "はどう違うのですか?

2022-03-21 09:56:59

質問

この件に関して少し読みましたが、ブラウザによってどのように扱われるのか、確かなものが見つからないようです。

解決方法は?

A readonly 要素は編集できないだけであって、それに応じた form が送信されます。A disabled 要素は編集可能ではなく、submit時に送信されません。もうひとつの違いは readonly 要素はフォーカスすることができますが (フォームを "タブで移動するとフォーカスされます)、一方で disabled 要素ではできません。

詳しくはこちら この素晴らしい記事 または w3cによる定義 . 重要な部分を引用します。

<ブロッククオート

主な相違点

Disabled属性について

  • 無効化されたフォーム要素の値は、プロセッサメソッドに渡されません。W3Cはこれを成功した要素と呼んでいます。 フォームのチェックボックスがチェックされていない場合)
  • ブラウザによっては、無効化されたフォーム要素のスタイルを上書きしたり、デフォルトのスタイルを提供する場合があります。(テキストをグレーアウトまたはエンボス加工する)Internet Explorer 5.5では、特にこの点が問題になっています。
  • 無効なフォーム要素にはフォーカスが当たらない。
  • 無効化されたフォーム要素は、タブナビゲーションでスキップされる。

読み取り専用属性

  • すべてのフォーム要素にreadonly属性があるわけではありません。最も注目すべきは <SELECT> , <OPTION> および <BUTTON> 要素には、readonly 属性があります (ただし、両方とも disabled 属性を持っています)。
  • ブラウザは、フォーム要素が読み取り専用であることを示す、デフォルトでオーバーライドされたビジュアルフィードバックを提供しません。(これは問題になる可能性があります...以下を参照してください)
  • readonly 属性が設定されたフォーム要素は、フォームプロセッサに渡されます。
  • 読み取り専用のフォーム要素はフォーカスを受け取ることができます
  • 読み取り専用のフォーム要素は、タブ付きナビゲーションに含まれます。