[英]How to post checkbox value when disabled
我試圖將readonly屬性設置為復選框,但是它允許用戶選中/取消選中該字段。
后來我嘗試將禁用禁用,以防止用戶選中/取消選中。
但是當我嘗試提交表單時,具有不平衡值的復選框沒有傳遞給MVC控制器。
我嘗試放置隱藏值,並嘗試在更改時設置值,但無法將值傳遞給控制器。
這是我的代碼:
<div style="width:200px">@Html.CheckBoxFor(m => m.In, new { id = "cbIn", style = "vertical-align:middle;", data_bind = "checked:In,disable:useSettings" })</div>
@Html.HiddenFor(m=>m.In,new { id = "hiddenIn" })
jQuery代碼:
$("#hiddenIn").val(data.In);
function SaveSettings() {
try {
var saveSettingsUrl = "/Settings/SaveSettings";
var serializedForm = $("input,select").serialize();
$.ajax({
type: 'POST',
url: saveSettingsUrl,
async: true,
data: serializedForm,
success: function (data, textStatus, request) {
data = null;
},
error: function (request, status, error) {
handleException(request.responseText);
}
});
}
catch (error) {
showExceptionWindow('Jquery Error:' + error);
}
}
我如何發送復選框值,即使在表單發布中將其禁用也是如此。
您已經有了隱藏的輸入:
@Html.HiddenFor(m=>m.In,new { id = "hiddenIn" })
那應該通過禁用復選框的值。
沒有隱藏輸入的解決方案,您可以在從表單中獲取元素值之前刪除disabled
屬性:
$("input:checkbox").prop('disabled', false);
//Then get the data
var serializedForm = $("input,select").serialize();
希望這可以幫助。
您可以這樣使用,因此使用不能更改復選框的狀態,並且只需添加onclick="return false;"
也可以從復選框中獲取價值onclick="return false;"
<input type="checkbox" checked onclick="return false;" onkeydown="return false;"/>
用你的剃刀語法是
@Html.CheckBoxFor(m => m.In, new { id = "cbIn", style = "vertical-align:middle;", data_bind = "checked:In,disable:useSettings", onclick="return false;"})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.