我正在尝试做一个非常简单的任务,但是由于某种原因我无法做到。

基本上,我正在使用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///////////

}

最佳答案

您只是缺少一个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:


如果condition评估为true,则第一个,因为值是171515
值更改为db0000
如果条件再次评估为true,则为秒,因为该值现在是db0000
值变回171515


案例db0000:


首先,如果条件获取,则求值为假,因为该值不是171515
值保持不变
如果条件获取,则返回第二个值,因为值为db0000
值更改为171515


因此,在两种情况下,您最终都将获得171515。

10-06 04:37