1

これが非常に基本的な質問であることは承知していますが、私は (非 HTML) プログラミングに非常に慣れていないため、CodeAcademy でほとんどの JS トラックを受講した後でも、学んだことを実際に機能させるのに苦労しています。

そこで私は自分自身への挑戦として、単純な JavaScript ベースのコマンド ラインを設計することにしました。もちろん、私が書いた最初の実際のコードは、絶え間ないいじりにもかかわらず、機能しません。

HTMLは次のとおりです(まあ、関連する部分です):

<input type="text" id="commandfield"></input>
<button type="button" onclick="enterCommand()">Enter</button>

そして、ここにJavascriptがあります:

var field = document.getElementById("commandfield");

function enterCommand () {
    var input = field.value;
    alert(input);
}

...そして、アラートは表示されません。単純な文字列アラートをテストしたところ、問題なく機能したので、問題は #commandfield の値の取得にあることがわかりました。私は何を間違っていますか?

4

3 に答える 3

4

関数内の要素を選択します。

function enterCommand () {
    var field = document.getElementById("commandfield");
    if (field) {
        var input = field.value;
        alert(input);
    }
}

これにより、イベント発生時の DOM の状態に基づいて要素が選択されます。

于 2012-12-03T01:38:43.157 に答える
1
function enterCommand () {
    var field = document.getElementById("commandfield");      
    var input = field.value;
    alert(input);
}

これを試してみてください。スクリプトをbodyタグの下部ではなくheadタグに配置したと思います。

そのノードを取得できませんでした

于 2012-12-03T03:12:28.630 に答える
0

私はそれを試しましたが、これはうまくいきます:

<script type="text/javascript">
function enterCommand () {
var field = document.getElementById("commandfield");
var input = field.value;
window.alert(input);
}
</script>
<input type="text" name="commandfield" id="commandfield">
<button type="button" onclick="enterCommand()">Enter</button>
于 2012-12-03T01:41:05.840 に答える