| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Flitig postare
|
Kod:
var a = 0;
for(i = 1; i < parseInt(document.getElementById('antal').value)+1; i++){
a += parseInt(document.getElementById('p' + i).value);
}
document.write('<strong>Total:</strong> ' + a + ' kr <br />');
parseInt(document.getElementById('antal').value)+1 //hämta antalet textfält Jag testade att loopa mig genom alla textfälten, men när man kommer till sista så vill det sig inte och skriptet dör helt. Kod:
var i = 1;
var a = 0;
while(parseInt(document.getElementById('p' + i).value) != null){
a += parseInt(document.getElementById('p' + i).value);
i++;
}
|
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Supermoderator
|
du kanske skulle testa att document.getElementById('p'+i) inte är null innan du börjar använda det värdet till andra metoder?
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
|
|
Svara med citat
|
|
|
#3 | |||
|
||||
|
Mycket flitig postare
|
Jag vet inte riktigt vad du menar med textfält men kanske funktionen document.getElementsByNames() eller någon av de andra dom-funktionerna som man kan använda för att iterera genom dokumentstrukturen?
Det bästa är nog om du försöker lära dig mer om html-sidor som DOM-objekt och funktionerna som finns för detta i javascript. |
|||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Medlem
|
använd document.getElementsByTagName('input') i kombination med en if-sats för att se så det är ett textfält så borde du kunna få reda på antalet text-fält på sidan.
|
||
|
|
Svara med citat
|
|
|
#5 | |||
|
||||
|
Mycket flitig postare
|
Om det är input-elements värden du är ute efter så kan du också loopa igenom forms[x].elements[x] och se efter att forms[x].elements[i].type=='text' och då hämta värdena med forms[x].elements[i].value (forms[x].elements[x] har längden forms[x].elements[x].length).
Rättelse till mitt inlägg ovan: getElementsByNames() ska vara getElementsByName() men getElementsByTagName('input') är nog mer lämpat i det här fallet. |
|||
|
|
Svara med citat
|
|
|
#6 | |||
|
||||
|
Medlem
|
Citat:
parseInt returnerar antingen ett tal eller NaN. Alltså evaluerar parseInt(something)!=null alltid true. Om du vill kolla på en egenskap hos ett objekt som du inte vet om det finns måste du kolla om det finns först, t ex: myObj.value=="val" resulterar i error om inte myObj finns. Skriv istället myObj&&(myObj=="val"). Nedanstående snurra borde fungera: Kod:
var i = 1;
var a = 0;
while( e = document.getElementById('p' + i++) )
if( e.value && isFinite(e.value) )
a += parseInt(e.value);
|
|||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|