【问题标题】:input field value is empty when submit form after JQuery set value to the input fieldJQuery为输入字段设置值后提交表单时输入字段值为空
【发布时间】:2017-09-28 19:19:31
【问题描述】:

我在使用 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"。这似乎停止了将值传递给控制器​​。

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

回答 使用 readonly 而不是 disabled 属性,并赋予灰色背景色使其看起来不可编辑。

谢谢。

【问题讨论】:

    标签: jquery asp.net-mvc


    【解决方案1】:

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

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

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

    Properties and Attributes in HTML

    【讨论】:

    • 谢谢,我发现是因为我试图让输入字段不可编辑,所以我给了它@disabled = "disabled"。这似乎停止了将值传递给控制器​​。
    • @XiaoHan 使用readonly 属性使其不可编辑。
    • 谢谢,看来我必须使用 readonly 并在输入字段中应用一些背景颜色样式以使其看起来不可编辑。
    猜你喜欢
    • 1970-01-01
    • 2013-07-25
    • 2013-08-25
    • 1970-01-01
    • 2019-07-05
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多