18. april 2004 - 02:55
Der er
12 kommentarer og 1 løsning
felt1.value * felt2.value = felt3.value
Hej exp'er jeg har to felter hvor jeg vil have at den skal gange det felt1.value * felt2.value = felt3.value når man stiller sig i felt3
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
18. april 2004 - 02:59
#1
<form id="minForm" name="minForm"> <input id="minInput1" name="minInput1" type="text" value="Værdi1" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"> * <input id="minInput2" name="minInput2" type="text" value="Værdi2" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"> = <input id="minInput3" name="minInput3" type="text" value="Værdi3" onfocus="this.value=(+this.form.minInput1.value)*(+this.form.minInput2.value)" onblur="" size="20"> </form>
18. april 2004 - 03:13
#2
kan du lave det så jeg kun skal skrive id=""
18. april 2004 - 03:16
#3
<input id="minInput3" type="text" value="Værdi3" onfocus="this.value=(+document.getElementById('minInput1').value)*(+document.getElementById('minInput1').value)" onblur="" size="20">
18. april 2004 - 03:18
#4
-- men bemærk så, at der ingen validering af input finder sted i nogen af versionerne, så en fejl i en af de første input vil medføre at der i det 3. felt står NaN (=Not a Number !-)
18. april 2004 - 03:25
#5
Hov, sæ'fø'li' onfocus="this.value=(+document.getElementById('minInput1').value)*(+document.getElementById('minInput2').value)"
18. april 2004 - 03:32
#6
Jeg har 17 felter? antal1 = 17 felter Enhedspris1 = 17 felter Total_ddk1 = 17 felter også kommer de bare der nede af med et nyt tal eks Total_ddk2 o.s.v havd er bedste at gøre?
18. april 2004 - 03:53
#7
En funktion !-) <script type="text/javascript"> function total(f){ var ialt = antal = enhedspris = 0; for(i=1;18>i;i++){ antal = (!f.elements['antal'+i].value.match(/^\d+$/))?0:+f.elements['antal'+i].value; enhedspris = (!f.elements['Enhedspris'+i].value.match(/^\d+(\.\d+)*$/))?0:+f.elements['Enhedspris'+i].value; ialt += f.elements['Total_dkk'+i].value = antal*enhedspris; } f.ialt.value = ialt; } </script> Så skal den bare kaldes fra alle onfocus-tingene på Total_dkk-felterne ... -- her er den med names, men efter de samme principper som ovenfor kan du: document.getElementById('Total_dkk'+i).value osv. -- og der er en simpel validering, så kun hele tal på antal giver andet end nul, mens decimal-tal er tilladt på enhedspris !-)
18. april 2004 - 03:54
#8
<form> <input name="antal1"> * <input name="Enhedspris1"> = <input name="Total_dkk1" onfocus="total(this.form);"><br><br> -- og <input name="ialt"> </form>
18. april 2004 - 04:00
#9
kan du ikke lave det så jeg ikke skal lave navnene om på min input felter
18. april 2004 - 23:50
#10
Hedder de da ikke: antal1 --> antal17 Enhedspris1 --> Enhedspris17 og Total_dkk1 --> Total_dkk17 -- går ud fra, at det er en tavetosse med _ddk ...
11. juni 2004 - 14:10
#11
jeg vil takke for hjælpen og se frem til et svar
11. juni 2004 - 14:15
#12
Velbekomme '-)
11. juni 2004 - 14:49
#13
-- og tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling