Nah, try/catch-blokken synes jeg godt nok er overflødig, men det er jo en kodestil, der sikrer en mod en masse grimme overraskelser (men også undtager for at opdage nogle simple ting !-)
-- men for at starte fra en ende af:
-- efter nutidige standarder må intet, der hører direkte til et tag, stå med store bogstaver, altså hverken taggets navn, attribut-navne eller standardværdier, så en linje bør se ca. sådan ud:
<td><input type="text" size="10" id="i01"></td>
-- andre attribut-værdier er der intet i vejen for, at de indeholder store bogstaver ...
-- et funktionsnavn i javascript, der hedder js_evaluate betragter jeg på linje med dem, der skriver 'Møde' i deres kalender, for dybest set betyder det vel, at du kalder en javascript-beregning for "javascript_beregning", altså intet der indikerer hvad du gør eller opnår (eller hvorfor og hvordan !-)
-- det kan dog være miljø-bestemt og en forfølgelse af et navngivningsskema, som f.eks. intA, textB osv. til variabelnavne ...
-- så synes jeg, det er en dårlig metode at benytte submit-knapper til det, jeg opfatter som (løbende) beregninger, jeg ville altid benytte noget event-baseret, så man også har en chance for at sende resultatet ...
-- og så er brugen af java script: pseudo-protokollen i en javascript-event helt misforstået, den hører _kun_ hjemme der, hvor man ellers ville placere en url (f.eks. i href i links !-)
-- det er jo selvfølgelig ikke nødvendigt at fortælle javascript-fortolkeren, at noget script, der skrives i en script-event skal fortolkes som script !o]
-- at du så ovenikøbet bruger en try/catch til at terminere en løkke, som sagtens kan termineres på den direkte forespørgsel gør ikke konstruktionen while(true) kønnere, den er kun i ganske særlige tilfælde en nødvendig konstruktion ...
-- det, der står inde i .elements[] skal være een lang streng, når den evalueres, dvs. når konkateneringen er foretaget skal der stå f.eks. 'ra[4][quantity]', så de tre strenge, der skal konkateneres er:
'ra[' +
4 + (altså num-variablen !-)
'][quantity]'
-- så f.eks.
while(f.elements["ra][" + num + "][quantity]"]){ f.elements["product"+num].value = f.elements["ra][" + num + "][quantity]"].value * f.elements["ra][" + num + "][unitprice]"].value;
Kan du ikke prøve en sidste gang og se på det roenving? Der er ikke noget i while lykke ex. giver den her alert(f.elements["ra][1][quantity]"]) undefined.
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.