无法设置表单输入javascript的值

时间:2017-04-09 21:24:01

标签: javascript variables dom

我将document.getElementById("outcome").value分配给变量outcome。 当我单击按钮时,我想设置具有id"结果"的输入值。 to" Something"。

但是当我执行下面的代码时,没有设置输入表单结果。 输入形式的结果仍然没有发生。

function throwDice() {

    var point=document.getElementById("point").value;
    var outcome=document.getElementById("outcome").value;
    outcome=Somthing;
}

之后我修改了我的代码。

function throwDice() {

    var point=document.getElementById("point").value;

    document.getElementById("outcome").value="Something";
}

我所做的就是删除分配变量结果和 分配"东西"直接到document.getElementById("outcome").value。 在这种情况下,输入形式结果的值是" Something"。

我的问题是为什么outcome="Something"无法运作。

1 个答案:

答案 0 :(得分:2)

<强>情况:

在您的第一个代码中,您只使用outcome覆盖"Something"变量值,而不是使用id outcome将其写入元素,因此如果您写:

<强>解释

您在此声明了outcome变量,并将其值设置为输入值:

var outcome=document.getElementById("outcome").value;

在这一行中,您要将outcome变量重置为"Something"

outcome=Somthing;

因此,在这种情况下,outcome变量只保存输入值,然后您将其更改为"Something"

所以回答你的问题:为什么结果=&#34;某事&#34;是不是在运作?,因为outcome没有引用input元素value,但只保留其value }。

换句话说:

所以在你的第一个代码中,你只是做了这样的事情:

var outcome = 5;     //outcome here is 5
outcome = "Something";    //outcome is changed to "Something"

在JavaScript变量中,如果您看到此行为,就会轻松输入变量,您可以查看Understanding Loose Typing in JavaScript以进一步阅读。