0

私は次のコードを持っています:http://pastebin.com/61K2J9kR

値がdest_xに保存されない理由を誰かに教えてもらえますか?テキストボックスへの入力は、「GO!」が実行されたらdest_xに保存する必要があります。ボタンがクリックされます。

どんな助けでもいただければ幸いです。

4

1 に答える 1

2

onclick同じ要素に2 つの属性があることが原因である可能性があります。

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

次の 1 つだけが必要です。

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

javascript:また、イベントに含める必要はありません。これは、JavaScript を属性onclickに配置するために使用される手法でした。href

dest_xの取得もmoveRight 関数に移動する必要があります。

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

getElementByIdではないことに注意してくださいgetElementByID- JavaScript では大文字と小文字が区別されます。

これらの変更をスクリプトの更新版に含めました: http://pastebin.com/aX6mXRhg

これらの変更により、物事が機能するようになります - 後で考慮したいことが他にもあります - しかし、上記の修正はそれまでの間あなたを動かすはずです.

  1. 関数と変数のスコープ
  2. HTML 属性ではなく、JavaScript でイベントを添付する
  3. 使用を避けるeval
于 2012-11-07T16:50:05.177 に答える