[解決済み] HTMLフォームのSELECTタグ/入力の読み取り専用化
2022-03-14 20:48:57
質問
HTMLの仕様によると
select
タグは、HTMLでは
readonly
属性のみです。
disabled
属性を使用します。ですから、ユーザーがドロップダウンを変更できないようにしたい場合は
disabled
.
唯一の問題は、無効化されたHTMLフォーム入力はPOST/GETデータに含まれないということです。
をエミュレートするのに最適な方法は何でしょうか?
readonly
属性は
select
タグを使用しても、POST データを取得できますか?
解決方法は?
を維持する必要があります。
select
要素
disabled
を追加し、さらにもう1つの隠し
input
を同じ名前と値で指定します。
SELECTを再び有効にする場合は、onchangeイベントでその値をhidden入力にコピーし、hidden入力を無効化(または削除)する必要があります。
以下はデモです。
$('#mainform').submit(function() {
$('#formdata_container').show();
$('#formdata').html($(this).serialize());
return false;
});
$('#enableselect').click(function() {
$('#mainform input[name=animal]')
.attr("disabled", true);
$('#animal-select')
.attr('disabled', false)
.attr('name', 'animal');
$('#enableselect').hide();
return false;
});
#formdata_container {
padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<form id="mainform">
<select id="animal-select" disabled="true">
<option value="cat" selected>Cat</option>
<option value="dog">Dog</option>
<option value="hamster">Hamster</option>
</select>
<input type="hidden" name="animal" value="cat"/>
<button id="enableselect">Enable</button>
<select name="color">
<option value="blue" selected>Blue</option>
<option value="green">Green</option>
<option value="red">Red</option>
</select>
<input type="submit"/>
</form>
</div>
<div id="formdata_container" style="display:none">
<div>Submitted data:</div>
<div id="formdata">
</div>
</div>
関連
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] How can I set the default value for an HTML <select> element?
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] 静的な HTML ページにファビコンを追加する
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】HTMLのテキスト入力で数値入力しかできない。
-
[解決済み] [Solved] How to ensure a <select> form field is submitted when it is disabled?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
JavaScriptの配列共通メソッド解説
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方
-
[解決済み] HTMLフォームの入力欄のdisabled="disabled "とreadonly="readonly "はどう違うのですか?
-
[解決済み】HTMLフォーム全体を "読み取り専用 "にするには?