2013-05-17 94 views
0

問題如下。每次按下按鈕「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" /> 
+2

英文請 – PSR

+0

轉換變量完成。我認爲。 –

+0

什麼是'cena'? –

回答

0

隱藏的輸入使用的值不是innerHTML的

document.getElementById('skupnaCena').innerHTML = cena; 

需要被

document.getElementById('skupnaCena').value = cena; 

您還需要cobvert字符串使用parseFloat號( ),然後再添加它們。

+0

嘗試過。還是一樣。 –

+0

我更新了上面的代碼。依然沒有 :) –

0

我解決了這個問題。問題是,我試圖在「輸入類型=隱藏」中顯示總價格。我將它改爲具有隻讀屬性的文本,並且它可以工作。