0

私は Javascripting 言語が初めてです。Submit buttonを使用して単一の入力エントリを取得する 1 つの HTML ページがあり、同じページのコンテナ (データ構造) とdynamically show that list文字列のリストに格納するアプリケーションを構築しようとしました。

送信ボタンをクリックするたびに、そのエントリが同じページの既存のリストに自動的に追加されることを意味します。

HTML ファイル :-

<html>
    <head>
        <script type = "text/javascript" src = "operation_q_2.js"></script>
    </head>
    <body>
        Enter String : <input type= "text" name = "name" id = "name_id"/>
        <button type="button"   onClick = "addString(this.input)">Submit</button>
    </body>
</html> 

JavaScript コード

var input = [];

function addString(x) {
    var s = document.getElementById("name_id").value;//x.name.value;
    input.push(input);
    var size = input.length;
    //alert(size);
    printArray(size);
}

function printArray(size){
    var div = document.createElement('div');
    for (var i = 0 ; i < size; ++i) {
        div.innerHTML += input[i] + "<br />";
    }
    document.body.appendChild(div);
    //alert(size);
}

ここでは、文字列を に保存しますがinput Array、Web ページには表示できません。助けが必要です。

与えられたリンクに1 つのコードがあることをもう 1 つ教えてください。また、望ましい答えも得られません。この問題を克服するのを手伝ってください。

<html>
<body>
    <script>
       function addValue(a) {
            var element1 = document.createElement('tr');
            var element2 = document.createElement('td');
            var text = document.createTextNode(a);
            var table = document.getElementById('t');
            element2.appendChild(text);
            element1.appendChild(element2); 
            table.tBodies(0).appendChild(element1);
       }
   </script>
   Name: <input type="text" name="a">
   <input type="button" value="Add" onClick='javascript:addValue(a.value)'>
   <table id="t" border="1">
       <tr><th>Employee Name</th></tr>
   </table>
</body>
</html>
4

1 に答える 1

3

入力配列の最後にアイテムをプッシュするコードでは、値ではなく配列を配列にプッシュしようとしています。したがって、値がページに追加されないという問題がある場合は、最初は空の配列をそれ自体に追加しようとしていることが原因です。

だから代わりに

input.push(input);

そのはず

input.push(s);

"s" は、テキスト フィールドの値として既に宣言されているためです。

そして、渡したパラメーターを使用しない場合は、それを削除します。

参考文献:Javascript Array.Push()

于 2013-01-19T20:29:49.007 に答える