Anzitutto il value dei campi di testo deve essere una stringa vuota, mentre scrivendo value=" " il campo contiene uno spazio (che è una stringa). Quindi, se l'utente immette un numero senza eliminare lo spazio, JavaScript non potrà sommare i valori dei campi di testo, non essendo numeri. Tutto quello che i campi di testo contengono è considerato sempre come stringa, quindi con uno spazio davanti, JavaScript non riesce a fare la conversione implicita del valore dei campi da stringa a numero e di conseguenza, non riesce a sommarli.
Poi, la tua funzione deve semplicemente fare la somma dei valori dei campi e controllarla. Se la somma è diversa da 100, deve ritornare false, altrimenti true.
Naturalmente, dovresti modificare la funzione anche per controllare che gli input dell'utente siano effettivamente numeri e non stringhe (puoi usare una regular expression).codice:function verifica() { val1 = document.getElementById("perconaraspi").value; val2 = document.getElementById("perconaraspr").value; val3 = document.getElementById("perconararic").value; val4 = document.getElementById("perconaraalt").value; totale = val1 + val2 + val3 + val4; if (totale!=100) { alert("La somma deve essere 100!"); return false; } else { return true; } }
PS: il codice (X)HTML della pagina andrebbe scritto tutto minuscolo per correttezza e aderenza agli standard. Non dovresti scrivere method="POST", name="Submit" e onSubmit.



Rispondi quotando