JavaScript - добавление значений текстового поля для сохранения его в массиве
Мне нужно исправить код. Итак, вот 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, чтобы объединить каждый элемент в массиве в одну строковую переменную. Тем не менее, должны также придерживаться
тег в конце каждого значения в строке, последняя вещь - поместить эту строку в абзац в конце страницы.
1 ответ
Если я вас понимаю, посмотрите на мою редакцию своего кода: если вы не понимаете что-то с помощью кода, спросите меня.
Сначала вы забыли закрыть с ;
функция $
, Затем вы создаете массив с плохим синтаксисом. в-третьих, вы вызываете массив 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;
})();
редактировать
Мохамед-Тед предлагает: вместо:
for (var theTotal in myTransaction)
{
myParagraph.innerHTML += myTransaction[theTotal] + "<br>";
}
вы можете сделать это:
myParagraph.innerHTML += myTransaction.join("<br>");
см пример на:
jsFiddle