【问题标题】:Set a value in hidden null field in Chrome/IE11/Firefox在 Chrome/IE11/Firefox 的隐藏空字段中设置值
【发布时间】:2014-12-01 05:11:37
【问题描述】:

我正在尝试在 JavaScript 的潜文本中设置一个值。假设 Disptext 有一些我想在 reportSubtext 中设置的值。这段代码在 IE8 中运行良好,但在 Chrome/IE11/Firefox 中却不行。 我收到错误,例如无法设置已经为空的对象的值。 subtext 是一个隐藏字段。这是潜台词的定义:

<input type="hidden" name="reportSubText" value=" c:out value='${reportSubText}' c:set var="reportSubText" value="${reportSubText}">
document.getElementById('SubText').value = DispText

document.getElementById('SubText').value 在执行时为空。

【问题讨论】:

  • 元素 SubText 的 html 标记是什么?我猜你有名字而不是 id。
  • document.getElementById('SubText') 的结果是什么?在您运行这段代码时,该元素是否存在?
  • 再次,您要设置的元素的 HTML 标记是什么。你什么时候打电话?这个问题需要更多细节。
  • document.getElementById('SubText').value 在执行时为空。我正在尝试在下拉菜单中设置值。

标签: javascript html google-chrome internet-explorer-11


【解决方案1】:

请编辑您的答案并向我们提供所有 HTML。据我了解,您正在尝试在下拉列表中设置值?下面的代码解释了如何做到这一点

<!doctype html>
<html>
  <body>
    <select id="list-1">
      <option id="opt-id-1" name="opt-1" value="val-1">Option 1</option>
      <option id="opt-id-2" name="opt-2" value="val-2">Option 2</option>
    </select>
  </body>

  <script>
    // first option (faster execution)
    var list = document.getElementById('list-1');
    var options = list.options;
    console.dir(options[0]);
    options[0].setAttribute('id', 'opt-id-1-CHANGED');
    options[0].setAttribute('name', 'opt-name-1-CHANGED');
    options[0].setAttribute('value', 'opt-value-1-CHANGED');
    options[0].innerHTML='Option 1 CHANGED';
  </script>
</html>

【讨论】:

    【解决方案2】:
    document.getElementById('SubText').value
    

    这将返回 null,因为您的代码显示该元素没有 id。你应该试试

    document.getElementsByName('reportSubText')[0].value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 2011-03-22
      • 2011-08-25
      • 2015-08-12
      • 1970-01-01
      相关资源
      最近更新 更多