我正在尝试做一个非常简单的任务但由于某种原因我不能这样做。
基本上我使用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"/>
所以我需要做的是:
我启动了一个页面,输入字段在我的页面上,其值为value="171515"
,然后我按一个按钮,这应该将输入字段的值更改为value="db0000"
,然后我再次按下按钮,它应该将输入按钮的值更改为value="171515"
,我需要根据需要多次执行相同的步骤。
目前,似乎它进入了一个循环动作,这就是为什么它不会改变输入字段的值! (如果我错了,请纠正我。)
任何帮助将不胜感激。
由于
编辑:
上面的javascript代码执行方式如下:
$(params.addPplTrigger).bind('click', function(e){
e.preventDefault();
///////// THE CODE ABOBE WILL GO HERE///////////
}
答案 0 :(得分:1)
您只是错过了else
:
if (document.getElementById("colour").value == "171515"){
document.getElementById("colour").value = "db0000";
}
else if (document.getElementById("colour").value == "db0000"){
document.getElementById("colour").value = "171515";
}
原始代码中会发生什么
案例171515:
案例db0000:
因此,在这两种情况下,你都会以171515结束。
答案 1 :(得分:0)
因为你在做:
if (document.getElementById("colour").value == "171515"){
document.getElementById("colour").value = "db0000";
}
然后反转
if (document.getElementById("colour").value == "db0000"){
document.getElementById("colour").value = "171515";
}
因此您无法看到更改。使用else instead of second if.
if (document.getElementById("colour").value == "171515"){
document.getElementById("colour").value = "db0000";
}else{
document.getElementById("colour").value = "171515";
}