JavaScript:使用 JavaScript 更改输入值

JavaScript: changing input value using JavaScript?

本文关键字:JavaScript 输入 使用      更新时间:2023-09-26

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

基本上我使用 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:

  • 首先,如果条件的计算结果为 true,因为该值为 171515
  • 值更改为 DB0000
  • 第二个 if 条件再次评估为 true,因为现在的值为 db0000
  • 值更改回171515

案例 db0000:

  • 首先,如果条件的计算结果为 false,因为该值未171515
  • 值保持不变
  • 第二个如果条件的计算结果为 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";
}

因此,您无法看到更改 .use else instead of second if.

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