【问题标题】:document.getElementById("attribute_orderfield1_value").innerHTML fails writing into input field [duplicate]document.getElementById("attribute_orderfield1_value").innerHTML 无法写入输入字段 [重复]
【发布时间】:2016-12-12 08:57:21
【问题描述】:

我在这个输入字段中写入一些文本有一点问题。

<input type="text" data-pseudo-text="true" data-selector=".attribute-orderfield1--hidden" placeholder="some text" name="attribute_orderfield1_value" id="attribute_orderfield1_value" class="input--attribute-orderfield1" data-type-aof="input">

我之前在没有属性 data-type-aof 的测试中尝试过,它有效。

document.getElementById("attribute_orderfield1_value").innerHTML = "some text";

这个属性是否会阻止通过 JS 写入字段?

【问题讨论】:

  • 这是 .value 而不是 .innerHTML
  • 感谢大家。不幸的是,它在这里不起作用。它在一个插件中,我尝试在其中更改输入中的值。我想可能会绕过它的代码,但是插件中有很多其他的 JS 可以防止在更改值后立即写入/或覆盖它。再次感谢您提供出色而快速的答案!

标签: javascript html input innerhtml


【解决方案1】:

如果我理解正确,您只是想设置值,只需使用:

document.getElementById("attribute_orderfield1_value").value = "some text";

【讨论】:

    【解决方案2】:

    innerHTML 用于将 html 元素添加到相应的 DOM 元素。对于输入元素,请改用value

    document.getElementById("attribute_orderfield1_value").value = "NEW Text";
    &lt;input type="text" data-pseudo-text="true" data-selector=".attribute-orderfield1--hidden" placeholder="some text" name="attribute_orderfield1_value" id="attribute_orderfield1_value" class="input--attribute-orderfield1" data-type-aof="input"&gt;

    【讨论】:

      【解决方案3】:
      document.getElementById("attribute_orderfield1_value").value = "some text";
      

      试试 InnerHTML 不等于值

      【讨论】:

        【解决方案4】:

        对于输入字段,您不应该使用 innerHTML 来更改里面的文本。从技术上讲,您要更改的是输入字段的 [value] 属性。

        试试下面的JS

        document.getElementById("attribute_orderfield1_value").value = "New Text In Input Field";
        

        【讨论】:

        • 没有成功。 :(
        猜你喜欢
        • 1970-01-01
        • 2020-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-17
        • 2019-12-27
        相关资源
        最近更新 更多