無効な入力フィールドの値を送信する


101

入力フィールドを無効にしたいのですが、フォームを送信してもフォームは値を渡します。

使用例:Googleマップから緯度と経度を取得して表示したいのですが、ユーザーが編集したくありません。

これは可能ですか?


回答:


238

フォームの入力フィールドを無効にしたいのですが、フォームを送信すると、無効にしたフォームの値が送信されません

使用例:GoogleマップからLat Lngを取得して表示したいのです が、ユーザーに編集させたくありません

readonly入力フィールドでプロパティを使用できます

<input type="text" readonly="readonly" />

2
入力は引き続きフォーカスを受け取ることができることに注意してください。参照:stackoverflow.com/questions/5443952/...
ラファエルオリベイラ

5
8年後の素晴らしい答え。ただ、テキストが、私はCSSを追加編集不可を表示させるためにそれを追加したい:input:read-only { color:grey; }
UltrasoundJelly

21

私はこれが古いことを知っていますが、この問題に遭遇しただけで、どの回答も適切ではありません。nickfのソリューションは機能しますが、JavaScriptが必要です。フィールドを無効にして値を渡すのが最善の方法は、非表示の入力フィールドを使用してフォームに値を渡すことです。例えば、

<input type="text" value="22.2222" disabled="disabled" />
<input type="hidden" name="lat" value="22.2222" />

この方法では値が渡されますが、ユーザーにはグレー表示されたフィールドが表示されます。readonly属性はそれを灰色にしません。


1
無効になっているテキストボックスにCSSを追加して、灰色にすることができます。
krillgar

あるvalue無効入力で必要?
シュメールアン

10

また、Readonly属性を使用することもできます。入力はグレー表示されませんが、編集できません。

<input type="text" name="lat" value="22.2222" readonly="readonly" />

2

入力要素には、というプロパティがありますdisabled。フォームが送信されたら、次のようなコードを実行します。

var myInput = document.getElementById('myInput');
myInput.disabled = true;

5
フォームの送信時に値を渡すには、元の質問に対処するために、「無効」プロパティを「true」ではなく「false」にする必要があります。
Daniel Vukasovich 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.