【问题标题】:Submitting the value of a disabled input field提交禁用输入字段的值
【发布时间】:2011-05-02 00:46:53
【问题描述】:

我想禁用一个输入字段,但是当我提交表单时它仍然应该传递值。

用例:我正在尝试从 Google 地图获取纬度和经度并希望显示它,但我不希望用户对其进行编辑。

这可能吗?

【问题讨论】:

标签: javascript html


【解决方案1】:

输入元素有一个名为disabled 的属性。当表单提交时,只需运行如下代码:

var myInput = document.getElementById('myInput');
myInput.disabled = true;

【讨论】:

  • 解决原始问题,为了在表单提交期间传递值,“禁用”属性应该是“false”而不是“true”。
【解决方案2】:

我想禁用一个输入字段 表格,当我提交表格时 禁用形式的值不是 提交

用例:我正在尝试获取 Lat Lng 来自谷歌地图并想显示它.. 但不希望用户对其进行编辑

您可以在输入字段中使用readonly 属性

<input type="text" readonly="readonly" />

【讨论】:

  • 请注意,输入仍然可以接收焦点。见:stackoverflow.com/questions/5443952/…
  • 8 年后的好答案。只是想添加它以使文本看起来不可编辑,我添加了 css:input:read-only { color:grey; }
  • 哇,10 年后我在这里。与残疾人斗争。 readonly="readonly" 是解决方案。非常感谢
  • 你可以用readonly代替readonly="readonly"
  • 不幸的是,这不适用于复选框和单选按钮 - 因为它们不能被标记为 readonly
【解决方案3】:

您也可以使用 Readonly 属性:输入不会变灰但不可编辑

<input type="text" name="lat" value="22.2222" readonly="readonly" />

【讨论】:

    【解决方案4】:

    我知道这是旧的,但我只是遇到了这个问题,没有一个答案是合适的。 nickf 的解决方案有效,但它需要 javascript。最好的方法是禁用该字段并仍然传递值是使用隐藏的输入字段将值传递给表单。例如,

    <input type="text" value="22.2222" disabled="disabled" />
    <input type="hidden" name="lat" value="22.2222" />
    

    通过这种方式传递值,但用户会看到灰色的字段。 readonly 属性不会变灰。

    【讨论】:

    • 您可以在禁用的文本框上添加 CSS 以使其变灰。
    • 禁用输入时value 是必需的吗?
    • 是的,必须显示值
    猜你喜欢
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2010-11-20
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多