タイトルがすべてを物語っています...
回避策(選択/非表示入力を無効にするなど)に関する回答を探していません。私はただ尋ねています:なぜそのようになっているのですか?
タイトルがすべてを物語っています...
回避策(選択/非表示入力を無効にするなど)に関する回答を探していません。私はただ尋ねています:なぜそのようになっているのですか?
開発者がAPIのあり方を決定した以外に、これに対する本当の答えがあるかどうかはわかりません。
私の見解では、「読み取り専用」とは、何らかのタイピングを行うことを意味するということです。おそらく開発者は、select 要素が実際にキーボード入力を受け取るとは考えていませんでした。したがって、代わりに「無効」属性を使用することにしました。
これはフォームで役立ちます。たとえば、ユーザーが実際に入力ボックスにデータを入力する前に、チェックボックスをオンにしたり、質問に答えたりする必要があります。特定の設定に基づいてデータを適切に記録できるように、ユーザーが「正しい道を歩む」のに役立ちます。
それにもかかわらず、 http://www.w3schools.com/tags/att_input_readonly.aspによると
The readonly attribute can be set to keep a user from changing the value until some other conditions have been met (like selecting a checkbox, etc.). Then, a JavaScript can remove the readonly value, and make the input field editable.
また、このリンクには実用的な例があります
http://www.geekgumbo.com/2011/02/12/html-disabled-or-readonly/