データの送信が無効になっているフォームフィールドを有効にする方法はありますか(属性フラグなど)。
または、それが不可能な場合、CSSまたは無効にする以外の属性を非表示にせずに編集することをブロックする方法はありますか?
私の現在の特別なケースは、データセットの識別子で、フォームに表示する必要があります(編集不可)-より良い解決策がなければ、無効なフィールドに加えて隠しフィールドを使用して実際のデータを保持します無効なものが表示されている値。
読み取り専用属性をチェックアウト http://www.w3schools.com/tags/att_input_readonly.asp
Disabled
属性を持つ要素は送信されないか、値が送信されていないと言うことができます。
つまり.
<input type="textbox" name="Percentage" value="100" disabled="disabled" />
ご参考までに、
ケースでreadonly
属性を使用できます。これを行うことにより、フィールドのデータを投稿できます。
つまり.
<input type="textbox" name="Percentage" value="100" readonly="readonly" />
ご参考までに、
注:READONLYはチェックボックスおよび選択タグでは機能しません
既に述べたように、READONLY
は<input type='checkbox'>
および<select>...</select>
では機能しません。
無効なチェックボックス/選択付きのForm
があり、それらを送信する必要がある場合は、jQueryを使用できます。
$('form').submit(function(e) {
$(':disabled').each(function(e) {
$(this).removeAttr('disabled');
})
});
このコードは、送信時にすべての要素からdisabled
属性を削除します。
「無効」にしたいフィールドで(おそらく灰色の背景と一緒に)CSSポインターイベント:なしを使用して、次のようなPOSTアクションを許可します。
<input type="text" class="disable">
.disable{
pointer-events:none;
background:grey;
}
参照: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
以下の属性でのみ読み取り専用を使用することもできます-
readonly onclick = 'return false;'
これは、読み取り専用のみを使用する場合、ラジオボタンが編集可能になるためです。この状況を回避するには、上記の組み合わせで読み取り専用を使用できます。編集が制限され、要素の値もフォーム送信中に渡されます。
selectまたはtextタグで機能するinput要素にCSSまたはクラスを追加します
style = "pointer-events:none; background-color:#E9ECEF"