Visualizzazione risultati 1 fino 1 di 1

Discussione: Funzione somma su campi dinamici

  1. #1
    Guest

    Predefinito Funzione somma su campi dinamici

    ho un form su cui effetture la somma di alcuni valori. I campi fissi funzionano, quelli dinamici no.

    la funzione che utilizzo per la somma è la seguente, la semplifico:

    Codice HTML:
    <script type="text/javascript" language="JavaScript">
    <script type="text/javascript" language="JavaScript"><!--
    function updateSum( __hForm, __productEl, __quantityEl, __assicurazioneEl, __sendEl, __priceEl )
    {
    var _hProduct = __hForm.elements[__productEl];
    var _hQuantity = __hForm.elements[__quantityEl];
    var _hAssicurazione = __hForm.elements[__assicurazioneEl];
    var _hSend = __hForm.elements[__sendEl];
    var _hPrice = __hForm.elements[__priceEl];
    if ( _hProduct.selectedIndex == -1 )
    _hPrice.value = "0 €";
    else {
    _hPrice.value = parseFloat( _hProduct.options[_hProduct.selectedIndex].value ) * parseInt( _hQuantity.value ) + parseFloat( _hBagaglio.options[_hBagaglio.selectedIndex].value ) + parseFloat( _hSend.options[_hSend.selectedIndex].value ) + " €";
    }
    } //-->
    </script>
    Mentre quella che crea i campi dinamici è:

    Codice HTML:
    <script type="text/javascript">
    // Funzione che permette di aggiungere elementi al form
    
    function AggiungiRiga(n_righe){
    var numero_righe = n_righe.value;
    var box = document.getElementById('box_righe');
    if(isNaN(numero_righe)==true){
      box.innerHTML='';
    }else{
      var righe=" ... ";
      // Inserisco una riga ad ogni ciclo
      for(i=1; i<=numero_righe; i++){
        righe = righe+"<br>Ospite "+i+" <br/> Assicurazione: <select name='bagaglio[]' onchange='updateSum( this.form, \'product\', \'quantity\', \'assicurazione\', \'send\', \'price\');'><option value='0' selected='selected'>No grazie</option><option value='30'>Bag. max 15kg € 30</option><option value='50'>Bag. max 20kg € 50</option></select> <br>";
    }
        // Aggiorno il contenuto del box che conterrà gli elementi aggiunti
        box.innerHTML=righe;
      }
    }
    </script>
    Quindi la somma è data da quantity*product + send (i campi fissi) + assicurazione (campo dinamico in pratica quello che non funziona...)
    Probabilmente c'è più di un errore...
    grazie anticipatamente
    Ultima modifica di saitfainder : 22-02-2011 alle ore 16.32.19

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •