JavaScript:使用JavaScript更改输入值?

JavaScript:使用JavaScript更改输入值?,javascript,Javascript,我正试图做一件非常简单的事情,但由于某种原因我做不到 基本上,我使用if语句使用javascript更改输入字段的值,但它不起作用 这是我的代码: if (document.getElementById("colour").value == "171515"){ document.getElementById("colour").value = "db0000"; } if (document.getElementById("colour").value == "db0000"){

我正试图做一件非常简单的事情,但由于某种原因我做不到

基本上,我使用if语句使用javascript更改输入字段的值,但它不起作用

这是我的代码:

if (document.getElementById("colour").value == "171515"){
    document.getElementById("colour").value = "db0000";
}

if (document.getElementById("colour").value == "db0000"){
    document.getElementById("colour").value = "171515";
}
HTML如下所示:

<input type="text" id="colour" name="colour" class="colour" value="171515"/>

您只是缺少了一个

if (document.getElementById("colour").value == "171515"){
    document.getElementById("colour").value = "db0000";
}

else if (document.getElementById("colour").value == "db0000"){
    document.getElementById("colour").value = "171515";
}

原始代码中发生了什么

判例171515:

  • 第一个if条件的计算结果为true,因为该值为171515
  • 值被更改为db0000
  • 第二个if条件再次求值为true,因为现在的值是db0000
  • 值被更改回171515
案例db0000:

  • 第一个if条件get的计算结果为false,因为该值不是171515
  • 该值保持不变
  • 第二个if条件的值为true,因为该值为db0000
  • 值更改为171515
因此,在这两种情况下,您最终都会得到171515。

因为您正在做:

if (document.getElementById("colour").value == "171515"){
    document.getElementById("colour").value = "db0000";
}
然后倒转

if (document.getElementById("colour").value == "db0000"){
    document.getElementById("colour").value = "171515";
}
因此,您无法看到更改。请使用
else而不是second if.

if (document.getElementById("colour").value == "171515"){
    document.getElementById("colour").value = "db0000";
}else{
    document.getElementById("colour").value = "171515";
}

按钮事件可能是您执行它的原因?值得注意的是,您有两个
如果
s,一个以一种方式更改值,另一个以另一种方式更改值。使用
if(condition){…}else if(condition){…}
或一个简单的
if(condition){…}else{…}
。如果只有两种可能性(其中一种必须为真),那么
else if(condition)
可以被一个简单的
else
(尽管不是我的反对票)代替。成功了。非常感谢。我对答案投了赞成票。。。。我不知道为什么有人否决了它!!!!哈,你看得很清楚(我最初的评论太仓促了!)@DavidThomas,你看得很清楚是的,我真的很好奇那些反应性的下议院选民的大脑中有时会发生什么。。。不客气,希望我能帮你了解发生了什么事。
if (document.getElementById("colour").value == "171515"){
    document.getElementById("colour").value = "db0000";
}else{
    document.getElementById("colour").value = "171515";
}