2012-03-25 7 views
1

私は最初のハカソトンでプロジェクトを終わらせようとしています。私は非常に非常に新しいjavascriptです...私が知っているすべて私は文字通り最後の2時間で学んだ。それは言われている...evalを使用してテキストエリアのjavascriptスニペットを評価しますか?

私はevalが使用するのに最適なものではないことを知っていますが、テキストエリアにjavascriptスニペットを入力して実行ボタンをクリックして、 javascriptを別のテキストエリア内で実行させることができます。私はjqueryから離れているようにしようとしています。複雑なレベルを追加する前に、本当に基本的なアイデアを取り除きたいからです。だから私はidを使っていません....しかしjqueryが唯一の方法これを行うには、私はポニーにして、次の8時間でそれを学ばなければならないと思う。

コード(ISH)を次のように

function executeJS() 
{ 
    var result = eval(game.input.value); 
    game.execute.value=result; 
} 
<head> 
    <body> 
    <H1>PRogram</H1> 
      <form name="game"> 

      <textarea name="execute" rows="5" cols="30" value=""></textarea><br> 
      <textarea type="text" name="input" rows="10" cols="30" value=""></textarea> 

      <input type = "button" value = "guess" onclick = "executeJS()</input> 
      </form> 
    </body> 
</head> 

が、私は私の実行]ボックスで出力が届きません。

いずれの洞察も高く評価されます。

+0

「あなたはjQueryから離れようとしているので、IDを使用していない」と言っていますか?それは意味をなさない。 IDとjQueryはお互いに関係がありません(名前、ノード、クラス、その他すべてのもの以上ではありません) – Jakob

+0

私は2時間のうちにjavascriptを学びました。私は本当に私の周りの人が言っていることをやっています。 – gfppaste

+0

ええ、申し訳ありません:)私は卑劣な方法でそれを意味しませんでした。とにかく、これについて進む権利はIDを使用することになります。私は答えを書くでしょう。 – Jakob

答えて

2

"game"は変数ではありません。それはDOM要素名です。あなたはそれがオブジェクトの取得したい場合
、idはのは"game"を言わせて、あなたの<head><body>

  • あなたのjavascriptのコードは内部<script></scriptタグではありません囲むことdocument.getElementById('game')

    • 注意を使用し、それを与えます。
  • 2

    ここにはworking versionがあります。しかし、私はIDやライブラリを使用していないあなたのアイデア再考します:

    function executeJS() { 
        var game = document.forms['game']; 
        var result = eval(game.input.value); 
        game.execute.value = result; 
    } 
    

    をそしてevalを警戒します。

    関連する問題