问题如下。每次按下“Dodaj”按钮时,项目都会添加到html列表中。我需要在单独的元素上显示项目的总成本;在我的情况下,我使用隐藏输入。我尝试通过在函数中添加总价格的全局变量来声明,然后在函数Izracunaj中读取它。但是,隐藏输入中不显示任何值。
代码:
<script type="text/javascript">
var total= 0;
function AddItem()
{
var startingPrice= document.getElementById('cena').value;
var numbers= /^\d+$/;
//Preverimo, če so kot cena vnešena samo števila
if(startingPrice.match(numbers))
{
if(startingPrice< 10)
{
//Preberemo vrednosti iz vnosnih polj
var productName= document.getElementById('productName').value;
var price= document.getElementById('price').value;
//Regularni izraz za validacijo imena
var letters= /^[a-zA-Z]+$/;
if(!imeIzdelka.match(letters))
{
alert("Napačen vnos imena. Vnašate lahko samo črke.");
}
else
{
//Pridobimo seznam in ustvarimo nov element seznama
var list= document.getElementById('list');
var product= document.createElement('li');
var fullName= productName+ " - " + price+ "€";
//Novemu elementu določimo vrednost
product.innerHTML = fullName;
//Vstavimo element
list.insertBefore(product, list.firstChild);
_price = parseFloat(price);
total= total+ _price;
}
}
else if(startingPrice> 10)
{
//Preberemo vrednosti iz vnosnih polj
var productName= document.getElementById('productName').value;
var price= document.getElementById('price').value;
var letters= /^[a-zA-Z]+$/;
if(!productName.match(letters))
{
alert("Napačen vnos imena. Vnašate lahko samo črke.");
}
else
{
//Pridobimo seznam in ustvarimo nov element seznama
var list= document.getElementById('list');
var product= document.createElement('li');
//Spremenimo barvo na rdečo
product.style.color = "red";
//Združimo vrednosti
var fullName= productName + " - " + price+ "€";
//Novemu elementu določimo vrednost
product.innerHTML = fullName;
//Vstavimo element
list.insertBefore(product, list.firstChild);
_price = parseFloat(price);
total= total+ _price;
}
}
}
else
{
alert("Kot ceno lahko vnašate samo cela števila.");
}
//Vrnemo skupno ceno
return total;
}
</script>
<script type="text/javascript">
Function Calculate()
{
var price = AddItem();
document.getElementById('totalPrice').value= price;
}
</script>
我很抱歉代码不是英语。
以下是输入:
<input type="button" id="add" value="Add Item" onClick = AddItem() />
<input type="button" id="calculate" value="Calculate" onClick = Calculate() />
<input type="hidden" id="totalPrice" />
答案 0 :(得分:0)
隐藏输入使用的值不是innerHTML
document.getElementById('skupnaCena').innerHTML = cena;
需要
document.getElementById('skupnaCena').value = cena;
在添加字符串之前,您还需要使用parseFloat()将字符串转换为数字。
答案 1 :(得分:0)
我解决了这个问题。问题是,我试图在“输入类型=隐藏”中显示总价格。我用readonly属性将其更改为文本,并且可以正常工作。