带有子串的Javascript函数

时间:2018-04-22 18:54:54

标签: javascript

我参加了一个Javascript课程,我有一些练习作为家庭作业。在其中一个中我必须创建一个具有以下角色的Javascript函数:当我按下按钮时,该函数应该从第一个文本字段中获取数据并将其放在接下来的3个输入字段中(日,月和年) 。

我写了这个函数,但它没有用。你能告诉我为什么吗?谢谢。



<!DOCTYPE html>
<html>
<head></head>
<body>
    <input type="text" value="20/12/2015" />
    <button onclick="calendar()">Push the button</button><br/>
    <input type="text" placeholder="day" /><br />
    <input type="text" placeholder="month" /><br />
    <input type="text" placeholder="year" />    
    <script>
    
    function calendar() {
        var x = "20/12/2015";
        var day = x.substring(0, 2);
        var month = x.substring(3, 5);
        var year = x.substring(6);
        document.getElementsByTagName("input")[1].innerHTML = day;
        document.getElementsByTagName("input")[2].innerHTML = month;
        document.getElementsByTagName("input")[3].innerHTML = year;
    }
        
    </script>

</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

您需要使用value属性来设置/获取<input> element的值。

&#13;
&#13;
function calendar() {
    var x = "20/12/2015";
        day = x.substring(0, 2);
        month = x.substring(3, 5);
        year = x.substring(6),
        inputs = document.getElementsByTagName("input");

    inputs[1].value = day;
    inputs[2].value = month;
    inputs[3].value = year;
}
&#13;
<input type="text" value="20/12/2015" />
<button onclick="calendar()">Push the button</button><br/>
<input type="text" placeholder="day" /><br />
<input type="text" placeholder="month" /><br />
<input type="text" placeholder="year" />    
&#13;
&#13;
&#13;

答案 1 :(得分:0)

要设置input元素的值,您必须指定其value。对于textarea元素也是如此。

在处理几乎任何其他类型的元素时分配给innerHTML,而不是输入

<!DOCTYPE html>
<html>
<head></head>
<body>
    <input type="text" value="20/12/2015" />
    <button onclick="calendar()">Push the button</button><br/>
    <input type="text" placeholder="day" /><br />
    <input type="text" placeholder="month" /><br />
    <input type="text" placeholder="year" />    
    <script>
    
    function calendar() {
        var x = "20/12/2015";
        var day = x.substring(0, 2);
        var month = x.substring(3, 5);
        var year = x.substring(6);
        document.getElementsByTagName("input")[1].value = day;
        document.getElementsByTagName("input")[2].value = month;
        document.getElementsByTagName("input")[3].value = year;
    }
        
    </script>

</body>
</html>