0

我遇到的问题是输入框不会忘记它获得的第一个输入。然后即使内容应该被新输入覆盖,它也会将其反馈回来。我使用的代码在 IE8 上运行良好,在 Firefox 20.0 上可以看到问题。

我完全使用 Javascript 工作。除了正文之外没有 HTML。

我用它来设置我的输入框:

addElementWithIdButNoNode("input","manimp","div42"); // add input box
addElementWithNodeAndId("button","Set","div42","setButton"); //add "set" button
document.getElementById("setButton").onclick=showIt;

“manimp”是 ID,下面成功捕获了第一次输入的内容作为“theMainVar”。

function showIt()
  {
  theMainVar=manimp.value;
  theMainVar=parseFloat(theMainVar);
  alert(theMainVar);
  }

问题是,如果你在 Firefox 中再次运行它,你可以输入任何你喜欢的值,但是警报会返回你第一次输入的值。

您可以手动将“manimp.value”发送到 javascript 中的其他内容,它确实会发生变化,但它会停留在这个变化的值上。

我需要一个“重置 manimp,以便它可以接受来自输入框函数的新值”

我环顾四周,发现了很多“reset()”和“clear()”功能,但对我没有用。

如果我将输入框换成下拉菜单,也会发生同样的事情。

我是 Javascript 的新手,所以如果修复对您来说很明显,也许是!

4

1 回答 1

0

尝试在函数中获取“manimp”元素,可能在声明函数时引用了该值。所以,在你的函数里面使用

theMainVar = document.getElementById('manimp').value;

于 2013-05-04T19:26:39.450 回答