0

我有以下代码: http: //pastebin.com/61K2J9kR

谁能告诉我为什么该值没有存储到dest_x 中?一旦“开始!”,文本框中的输入应存储到dest_x 按钮被点击。

任何帮助,将不胜感激。

4

1 回答 1

2

这可能是因为您onclick在同一个元素上有两个属性。

<INPUT id="btnMove" type="button" value="GO!" onClick="javascript:var t=setInterval('moveRight()', 80)" onClick="getValue()">

你应该只有一个:

<input id="btnMove" type="button" value="GO!" onclick="var t=setInterval('moveRight()', 80); getValue();">

你也不应该javascript:onclick事件中使用 - 这是一种用于将 JavaScript 放置在href属性中的技术。

您还应该将检索移动dest_x到您的 moveRight 函数中:

function moveRight() {
    var dest_x = document.getElementById('txtChar').value;
    //...

请注意,它是getElementById,不是getElementByID- JavaScript 区分大小写。

我已将这些更改包含在您的脚本的更新版本中:http: //pastebin.com/aX6mXRhg

这些更改使事情变得正常 - 还有其他事情您可能需要稍后考虑 - 但上面的修复应该让您同时进行。

  1. 确定函数和变量的范围
  2. 在 JavaScript 中附加事件,而不是 HTML 属性
  3. 避免使用eval
于 2012-11-07T16:50:05.177 回答