【问题标题】:HTML DOM datetime-local value not passed未传递 HTML DOM 日期时间本地值
【发布时间】:2018-02-27 22:28:34
【问题描述】:

我有一个显示日期时间的表格,如下所示:

<td id="start-1" value ="2017-03-15T00:00">2017-03-20 20:00:00</td>

当用户想要编辑行时,将打开一个modal window 并填充数据。但是时间的值没有传递给modal window(本地日期时间显示为空白)。 但是,如果将字符串“2017-03-15T00:00”直接传递给内部脚本,如下所示:

 document.getElementById("start-e").value = "2017-03-15T00:00";

,它确实显示了,但是下面的代码不起作用:

 document.getElementById("start-e").value  = document.getElementById("start-1").value;

【问题讨论】:

标签: javascript php html dom


【解决方案1】:

您必须将代码更改如下:

document.getElementById("start-e").value = document.getElementById("start-1").innerHTML;

td 不是控件,它是一个 html 标签。您必须使用.innerHTML 来获取其子内容。

【讨论】:

    【解决方案2】:

    试试这个 - 表单字段有 value 属性,TDs 没有:

    document.getElementById("start-e").value  = document.getElementById("start-1").getAttribute('value');
    

    【讨论】:

      【解决方案3】:

      javascript 中的 DOM 元素通常没有 value 属性。我猜start-e 是一个输入,它确实有,这就是为什么你可以使用document.getElementById("start-e").value (见:https://developer.mozilla.org/en-US/docs/Web/API/Element

      否则你需要使用属性,就像@santho 建议的那样。 他的回答会奏效:document.getElementById("start-e").value = document.getElementById("start-1").getAttribute('value');

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-05
        • 2022-01-20
        • 1970-01-01
        • 2012-09-14
        • 2014-05-31
        • 1970-01-01
        • 2018-10-28
        相关资源
        最近更新 更多