JavaScript:使用JavaScript更改输入值?
我正试图做一件非常简单的事情,但由于某种原因我做不到 基本上,我使用if语句使用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 (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";
}