在JQuery设置值到输入字段后提交表单时,输入字段值为空

时间:2017-09-28 19:19:32

标签: jquery asp.net-mvc

我使用MVC在页面上有一个下拉列表和一个输入字段。 我使用JQuery从Controller获取该值以设置此输入字段的值取决于下拉列表选择。我注意到页面上已填充输入字段,但使用浏览器开发者工具仍然检查了value属性。 我用

 @Html.EditorFor(model => model.inputFieldID, new { htmlAttributes = new { @id = "inputFieldID"} })

在JQuery ajax中,我将值设置为:

$("#inputFieldID").val(NewValueFromDB);

我可以看到使用

设置值
alert($("#inputFieldID").val());

但是在页面上,value属性字段为空,我错过了什么?

更新

我想通了,因为我试图让输入字段不可编辑,所以我给了@disabled =“disabled”。这似乎停止了值传递给Controller。

但我的问题是,如果我想让输入字段不可编辑,但仍然可以将值传递给Controller我该怎么办?

ANSWER 使用readonly而不是disabled属性,并使用灰色背景颜色使其看起来不可编辑。

谢谢。

1 个答案:

答案 0 :(得分:1)

jQuery .val()方法更新元素的value 属性,而不是属性值。

该属性主要用于初始化属性。

通常,您不需要value元素的input属性。

请参阅Properties and Attributes in HTML

相关问题