#javascript #function
#javascript #функция
Вопрос:
Я новичок в Javascript и работаю над проблемой, речь идет о создании веб-сайта, который позволяет пользователю вводить ставку на товар вместе с идентификатором ставки. Когда они вводят оба, они нажимают кнопку отправки, и в текстовом поле отображается идентификатор ставки / предложения (вместе с датой и временем).
Это должно позволять отправлять и отображать несколько заявок, но в настоящее время я могу отобразить только одну. Буду признателен за любую помощь относительно того, как я могу получить несколько ставок для отображения. Спасибо
var bids = new Array();
var bidders = new Array();
var bidTime = new Array();
function writeBid() {
var historyText = " ";
for (var i = 0; i < bids.length; i ) {
historyText = bidTime[i] " " bids[i] " " bidders[i] "n";
document.bidForm.bidList.value = historyText;
document.bidForm.highBid.value = bids[i];
document.bidForm.bidId.value = " ";
document.bidForm.bidAmount.value = " ";
}
}
function addBid() {
bidders.unshift(document.bidForm.bidId.value);
bids.unshift(document.bidForm.bidAmount.value);
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var timeText = hours ":" minutes ":" seconds;
bidTime.unshift(timeText);
writeBid();
}
function removeBid() {
bids.shift();
bidders.shift();
bidTime.shift();
writeBid();
}
Комментарии:
1. Если
bidList
это текстовая область, то используйте...bidList.value = historyText
— то есть используйте=
вместо=
. (Или, лучше, используйте=
для добавления в вашуhistoryText
переменную и устанавливайте только...bidList.value
один раз после цикла.) Почему вы отображаете такие данные в текстовой области? Должно ли оно быть редактируемым?2. это требовалось в лабораторных указаниях, не знаю почему. и когда я использую =, он снова записывает предыдущую запись вместе с новой записью каждый раз
Ответ №1:
как сказал @nnnnnn, использование =
с вашей текстовой переменной работает идеально:
JavaScript
var bids = [10, 20, 30];
var bidders = ['tim', 'sam', 'john'];
var bidTime = ['10/2/2013','12/5/213','14/1/2023'];
function writeBid() {
var historyText = " ";
for (var i = 0; i < bids.length; i ) {
historyText = bidTime[i] " " bids[i] " " bidders[i] "n";
document.bidForm.highBid.value = bids[i];
document.bidForm.bidId.value = " ";
document.bidForm.bidAmount.value = " ";
}
document.bidForm.bidList.value = historyText;
}
HTML
<form name="bidForm" id="bidForm">
<input type="text" name="bidId" id="bidId"/>
<input type="text" name="bidAmount" id="bidAmount"/>
<input type="text" name="highBid" id="highBid"/>
<textarea name="bidList" id="bidList"></textarea>
</form>