我使用Ajax.BeginForm / Html.BeginForm作为一个视图,在点击提交时将对象发送到控制器。有些telerik控件有条件地被禁用。单击“提交”时,对象无法检索控件中已存在的值,因为它已被禁用。因此,对象是使用空值。有什么帮助吗?
我正在使用jquery在加载页面时禁用这些telerik控件。
Change.setDropDownValues = function () {
if (condition) {
$("#A").data('tDropDownList').enabled = false; $("#A").data('tDropDownList').disable();
}
}
else if (condition) {
$('#Pop').attr('disabled', 'disabled'); //text box
$('#ShortDesc').attr('disabled', 'disabled'); //textarea
$('#LongDesc').attr('disabled', 'disabled'); //text area
$('#Cont').attr('disabled', 'disabled'); //text box
$('#iDate').attr('disabled', 'disabled'); //datepicker division
$('#C').data('tDropDownList').enabled = false; //drop down list
$('#C').data('tDropDownList').disable();
}
};
有人可以说如何重新编码以便我可以获取禁用的字段值吗?
答案 0 :(得分:14)
这就是disabled
输入工作的方式。他们从不将值发送到服务器。如果要阻止用户修改值,并在提交表单时将旧值发送到服务器,则可以使用readonly
。
答案 1 :(得分:2)
你可以使用这样的东西
$(":disabled", $('#yourform')).removeAttr("disabled");
提交之前。