<html> <body> <script> function addformdata(theform) { var total = 0; var tal; tal = parseInt(theform.t1.value); if (isNaN(tal)==false) { total += tal; } tal = parseInt(theform.t2.value); if (isNaN(tal)==false) { total += tal; } tal = parseInt(theform.t3.value); if (isNaN(tal)==false) { total += tal; } theform.total.value=total; } </script>
som det er nu skal man rette i javascript så den få alle felterne med, man kan rette javascriptet så det antager alle felter som hedder tX skal ligges samme så kan der være X antal felter, så der baer ikke andre felter hvis navn må starte med t, man kan lave t til ligsammeX så man ikke kommer til at bruge det.
Du kan lave funktion om til dette, den summere alle de teskt felter som starter med "t" i name.:
function addformdata(theform) { var total = 0; var tal; if (document.all || document.getElementById) { for (i = 0; i < theform.length; i++) { var tempobj = theform.elements[i]; var navn = tempobj.name.toLowerCase(); var tal; if (tempobj.type.toLowerCase() == "text" && navn.indexOf("t") == 0) { tal = parseInt(tempobj.value); if (isNaN(tal)==false) { total += tal; } } } } theform.total.value=total; }
Både ja og nej, du ksla ikke lave om i selv funtion andet end navnet på funtionen skal være et andet, du skal ikke rette theform->theform2 da det er en varialbe funktionen bruger...
Ja du kan lave en ny funktion hvis de ikke skal være en del de felter som er i forvejen.
Husk også at lave om i denne linje og give de input feltet nogle andre end t1,t2,t3
Hvis du kalder dem sum1,sum2,sum3 skal rette denne linje if (tempobj.type.toLowerCase() == "text" && navn.indexOf("t") == 0) {
Til: if (tempobj.type.toLowerCase() == "text" && navn.indexOf("sum") == 0) {
Ok :) Du skal også rette selve funktions navnet, så de ikke begge hedder addformdata
Du kan evt kalde den nye for: addformdata_u
Så rette du også input fleterne så de som skal tælles samme som hedder u kalder den nye funktion: XXXX<input type="text" name="u1" onchange="addformdata_u(this.form);"><br>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.