簡體   English   中英

JavaScript-添加文本框值並將其存儲在數組中

[英]JavaScript - Adding text box values an storing it in an array

我需要糾正一些代碼。 這是JS:

var $ = function (id) {
    return document.getElementById(id);
}
var myTransaction = new Array[];

function processInfo() {
    var myItem = $('item').value;
    var myAmount = parseFloat($('amount').value);
    var myTotal = myItem + ":" + myAmount;

    var myParagraph = $('message');

    myParagraph.innerHTML = myTransaction;


    for (var theTotal in myTransaction) {
        myTransaction += addTogether[theTotal] + "<br>";
    }
}


window.onload = function () {
    $("addbutton").onclick = processInfo;
}

和HTML

<section>
    <p>Item:
        <input type="text" id="item" size="30">
        <p>Amount:
            <input type="text" id="amount" size="30">
            <p><span id="message">*</span>

                <p>
                    <input type="button" id="addbutton" value="Add Item" onClick="processInfo();">
</section>

我需要做的是獲取文本框的值,並將它們添加到一個變量中,然后將其存儲到數組中。 然后使用for-in循環將Array中的每個元素連接為一個String變量。 但是,還必須堅持一個
標簽在String的每個值的末尾,最后是將String放置在頁面末尾的段落中。

小提琴

如果我理解您的話,請查看我的代碼版本:如果您對代碼不了解,請詢問我。

起初你忘記和; 函數$ 然后您使用錯誤的語法創建數組。 第三,您調用不存在的addTogether數組。 這是固定的代碼,我相信您會按要求工作。

var $ = function(id) {
    return document.getElementById(id);
};

var myTransaction = [];

function processInfo ()
{    
     var myItem = $('item').value;
     var myAmount = parseFloat($('amount').value);
     var myTotal = myItem + ":" + myAmount;
     var myParagraph = $('message');    

     myParagraph.innerHTML = "";
     myTransaction.push(myTotal);
     for (var theTotal in myTransaction)
     {
          myParagraph.innerHTML += myTransaction[theTotal] + "<br>"; 
     }

};

(function () {
    $("addbutton").onclick = processInfo;

})();

編輯
Mohamed-Ted建議:而不是:

for (var theTotal in myTransaction)
{
     myParagraph.innerHTML += myTransaction[theTotal] + "<br>"; 
}

你可以這樣做:

myParagraph.innerHTML += myTransaction.join("<br>"); 

請參閱以下示例:
jsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM