引用されたコードは、ページが読み込まれるとすぐに実行されます。その場合、フォーム フィールドには何も含まれないため、その値は になります''
。toString
これを警告すると、アレイに対するデフォルトの操作が実行され''
、警告は空白になります。
unshift
すぐにではなく、ボタンのクリックなどのユーザー イベントに応答してコードを実行したい。要素に設定し(その行からinput
削除)、割り当てている関数に行を移動し、そこに追加することでそれを行うことができます:.value
unshift
onclick
.value
button.onclick = function alerted (){
myArray.unshift(input.value);
alert(myArray);
};
その他の注意事項:
あなたは決して書きません</input>
。input
通常、タグはまったく閉じません。XHTML を書いている場合 (おそらくそうではないでしょう)、次のよう/
にメインinput
タグ内に を配置します<input id="input" />
。繰り返しますが、あなたはおそらく XHTML ではなく、HTML を書いているだけです。
input
ボタンの値 (キャプション) は、value
開始タグと終了タグ内のコンテンツではなく、その属性に入ります。button
(要素ではなく、開始タグと終了タグを使用しますinput
。)
これらすべてをまとめて、最小限の更新を次に示します。ソース
<form>
<input id="input"><!-- No ending tag -->
<input type = "button" id="button" value="Click me"><!-- No ending tag, move value where it should be -->
</form>
<script>
var input = document.getElementById("input"); // No .value here
var button = document.getElementById("button");
var myArray = [];
button.onclick = function alerted (){
myArray.unshift(input.value); // Moved this line, added the .value
alert(myArray);
};
</script>