我有一个MVC (Razor)网络应用程序。表单有两个字段,一个下拉框(Kendo)和一个日期输入字段。
在用户对下拉列表进行更改后,我的第二个输入字段将根据下拉框中选定的类型启用或禁用。当输入字段被禁用时,我用默认值填充输入。
当用户提交表单时,当第二个字段启用时,我只会在视图模型中得到第二个表单字段值,当禁用该值时,将不会发布该值。我知道这是HTML中的一个常见模式,禁用的字段不是文章的一部分。
我的问题是:当字段被禁用时,如何解决这个问题以获得值POSTed?应该用JS..。
发布于 2016-06-13 10:44:39
修正后,在下拉框的onchange处理程序中附加以下JS代码:
var defaultDateValue = "2017-01-04"; //just for demo
var $effectiveToInput = $("#@Html.IdFor(m => m.EffectiveToDate)");
$effectiveToInput.parent().append("<input type=\"hidden\" name=\"@Html.NameFor(m => m.EffectiveToDate)\" id=\"@Html.NameFor(m => m.EffectiveToDate)\" value=\"" + defaultDateValue +"\" />");对于其他类型,我使用检查清除隐藏字段:
function removeHiddenEffectiveToDateField() {
var $effectiveToInput = $("#@(Html.IdFor(m => m.EffectiveToDate))[type = hidden]");
if (null !== $effectiveToInput) {
$effectiveToInput.remove();
}
}发布于 2016-06-13 06:42:59
我有一个类似的要求,我所做的就是创建一个类,通过移除鼠标事件和样式来使文本框看起来像禁用的。
[https://codepen.io/DawsonMediaD/pen/Dqrck][1]或
有点棘手,就在发布之前,启用所有这些
https://stackoverflow.com/questions/37783237
复制相似问题