Javascript 要使用document.getelementbyid显示两个变量吗

Javascript 要使用document.getelementbyid显示两个变量吗,javascript,function,Javascript,Function,我想创建一个表单字段。然后,当页面加载自身时,在其中显示两个变量(已指定值)。我知道我可以使用“,但我想使用document.getElementById来完成此操作。我的代码有什么问题 表单字段已加载,但为空 我对JS很陌生 <!doctype html> <html> <body> <input type="number" id="formField"/> <script> var one = "John"; var two

我想创建一个表单字段。然后,当页面加载自身时,在其中显示两个变量(已指定值)。我知道我可以使用“
,但我想使用
document.getElementById
来完成此操作。我的代码有什么问题

表单字段已加载,但为空

我对JS很陌生

<!doctype html>
<html>

<body>
<input type="number" id="formField"/>

<script>

var one = "John";
var two = "Smith";

function concat() {
var x = one.value;
var y = two.value;
var z = one + "" + two;
    document.getElementById("formField").innerHTML = z; 
                                                   //Why doesn't this work?

}

concat();

</script>
</body>
</html>

var one=“约翰”;
var two=“史密斯”;
函数concat(){
var x=1.0个值;
var y=2.0个值;
var z=1+“”+2;
document.getElementById(“formField”).innerHTML=z;
//为什么这样不行?
}
concat();

input
元素没有
innerHTML
属性。您想设置
属性,如下所示:

document.getElementById(“formField”).value=z;

其他需要注意的事项:

  • 您将
    x
    设置为
    one
    并将
    y
    设置为
    two
    ,然后直接使用
    one
    two
    。没有必要使用
    x
    y
  • one
    two
    实际上没有
    属性-它们只是字符串
  • 不要忘记这些字符串之间的空格。看起来您想要的是
    one+“”+two
    (注意引号之间的空格),否则您的输出将是
    JohnSmith

input
元素没有
innerHTML
属性。您希望设置
属性,如下所示:

document.getElementById(“formField”).value=z;

其他需要注意的事项:

  • 您将
    x
    设置为
    one
    并将
    y
    设置为
    two
    ,然后直接使用
    one
    two
    。没有必要使用
    x
    y
  • one
    two
    实际上没有
    属性-它们只是字符串
  • 不要忘记这些字符串之间的空格。看起来您想要的是
    one+“”+two
    (注意引号之间的空格),否则您的输出将是
    JohnSmith

    • innerHTML通常用于div、span、p和类似元素。
      innerHTML通常用于div、span、p和类似元素。

      输入类型number->text

      您的代码中有几个问题

    • input type=“number”
      但您试图将字符串放入其值。这将不起作用。因此,请将输入类型更改为text
    • one
      two
      是变量,因此没有
      one.value
      two.value
      。只需
      one+two
      即可
    • 您必须使用
      .value
      而不是
      innerHTML
      将值放回输入中
    • HTML

      <input type="text" id="formFieldText" value=""/>
      

      您的代码中有几个问题

    • input type=“number”
      但您试图将字符串放入其值。这将不起作用。因此,请将输入类型更改为text
    • one
      two
      是变量,因此没有
      one.value
      two.value
      。只需
      one+two
      即可
    • 您必须使用
      .value
      而不是
      innerHTML
      将值放回输入中
    • HTML

      <input type="text" id="formFieldText" value=""/>
      

      var one和var two是变量,因此它们没有值属性。只有输入元素有值属性。哦,好吧……所有类型的输入元素都有值属性吗?var one和var two是变量,因此它们没有值属性。只有输入元素有值属性。哦,好吧……所有类型的输入元素都有值属性吗lue attribute?Heyyy它工作了!!!非常感谢!!:):)为那东西挣扎了好几个小时!!当然…我该怎么做?哦,想出来了!!!Heyy它工作了!!!非常感谢!!:):)为那东西挣扎了好几个小时!!当然…我该怎么做?哦,想出来了:)是的,我摆脱了x=1,y=2…明白你的意思了!谢谢!那么,什么如果一和二是数字,它们会有一个值属性吗?不。现在看来,
      one
      two
      是字符串,就是这样。所以它们有String.prototype所具有的任何属性或方法,比如
      length
      indexOf()
      。但是您不需要引用
      属性来获取字符串本身。如果您想要原始值的值,如数字或字符串,只需使用变量名即可。即
      console.log(一个)
      。是的,我去掉了x=1,y=2……明白你的意思了!谢谢!那么,如果1和2是数字,它们会有值属性吗?不。现在看来,
      1和
      2都是字符串,就是这样。所以它们有String.prototype拥有的任何属性或方法,比如
      length
      indexOf()
      。但是您不需要引用
      属性来获取字符串本身。如果您想要原始值(如数字或字符串)的值,只需使用变量名即可。即
      console.log(一)