Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Sommare campi stesso nome

    Salve
    devo effettuare una somma di campi che hanno lo stesso perchè inseriti in un ciclo, sto utilizzando questo script ma il totale è sempre 0, come mai?
    Grazie
    codice:
    var somma = 0;
    var ff = document.form;
    var add = ff.elements['prezzo'];
    for (var i=0; i<add.length; i++) {
      somma += parseFloat(add[i].value);
    }
    alert ("totale: "+somma);
    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Forse perché richiami gli elementi quando ancora non sono presenti nel form
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Hai ragione, grazie....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Dato che il nr di campi può variare, se capita che il campo è unico e solo, quindi senza bisogna di somma, come posso evitare che vada in errore?
    Grazie
    codice:
    var somma = 0;
    var ff = document.form;
    var add = ff.elements['quantita'];
    for (var i=0; i<add.length; i++) {
    somma += parseFloat(add[i].value);
    }
    document.getElementById('numero').innerHTML = somma;
    Grazie
    G.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Racchiudi il for in una if in modo che venga eseguito solo se ci sono più di due elementi input
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se fai typeof(add) dopo la sua creazione ottieni "object" se e' un array, "string" se e' un valore singolo ...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Ho provato, in base alle mie conoscenze, a fare così ma non mi funziona:
    codice:
    var somma = 0;
    var ff = document.form;
    var add = ff.elements['quantita'];
    if (add =<2){
    for (var i=0; i<add.length; i++) {
      somma += parseFloat(add[i].value);
    document.getElementById('numero').innerHTML = somma;
    } else {
     document.getElementById('numero').innerHTML = 1;
    }
    Potete aiutarmi?
    Grazie
    G.

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) manca una parentesi graffa
    B) if non è corretto sia come sintassi che come logica
    C) penso sia arrivato il momento di studiare js seriamente e di abbandonare il copia/incolla

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.