如何正确使用innerHTML更改文本字段中的文本

时间:2019-02-10 14:15:28

标签: javascript dom

我的程序中有3个文本字段。前两个即时消息用于在其中写入一些单词,然后在按下按钮后,最长的单词应出现在第三个文本字段中,但没有任何反应。

我试图使用innerHTML,但是我猜我使用不正确。

document.getElementById("button").onclick= function(){
                var a = document.getElementById("one")
                var b = document.getElementById("two")
                var c = document.getElementById("three")               
                if(a.value.length>b.value.length){
                    c.innerHTML = a.value 
                } else{
                    c.innerHTML = b.value 
                }
            }
        <input type="text" id="one"/>
        <input type="text" id="two"/>
        <input type="text" id="three"/>
        <button id="button">Button</button>

因此,当我按下按钮时,没有最长的单词,第三文本字段没有任何反应。所有代码都能正常工作,而innerHTML只是一个问题

2 个答案:

答案 0 :(得分:1)

如果要在.value而非input中设置值,请使用innerHTML

      document.getElementById("button").onclick= function(){
            var a = document.getElementById("one")
            var b = document.getElementById("two")
            var c = document.getElementById("three")               
            if(a.value.length>b.value.length){
                c.value = a.value 
            } else{
                c.value = b.value 
            }
        }
 <input type="text" id="one"/>
    <input type="text" id="two"/>
    <input type="text" id="three"/>
    <button id="button">Button</button>
    

答案 1 :(得分:1)

** innerHTML **:它是指元素内的html内容。这用于获取或设置html内容。通常用于div,span和p。

value :它是指元素的实际值。通常用于输入元素。

引用Diff between value & innerHTML

因此,您应该使用c.value而不是c.innerHTML。