06. maj 2002 - 21:26
Der er
33 kommentarer og 1 løsning
Script til summering af to felter i et nyt felt
Hej. Jeg har to felter. Det ene bliver genereret af ASP med en tal værdi. I det andet felt skal brugen selv indtaste en tal værdi. De to felter skal summeres til er 3. felt uden at man trykker på nogen knap. Dvs. umidelbart efter brugeren har indtastet noget i der ene felt. Håber i forstår... /Martin
Annonceindlæg fra itavis
<input type="text" onkeydown="sum()">
eller er det onkeypress? det er det egentligt nok... Prøv at se hvad for en der aktiverer funktionen.
Jeg vil foreslå onkeyup="sum()"....
Jeg kender ikke noget til javascript, kun ASP. Hvordan skal jeg bruge det du lige skrev?
Slettet bruger
06. maj 2002 - 21:32
#5
hehe...mangler selve funktionen ikk?
så må du nok forklare lidt nærmere om hvad funktionen skal kunne...
jeg har en form. ' der er 3 felter 1 som har en value og 2 uden. når jeg taster i felt nr 2. så skal felt 3 tage værdien fra 1 - 2 og putte i nr.3.
sådan her? <form name="FormName"> <input type="text" name="felt1" value="2" disabled="true"> + <input type="text" name="felt2" value="" onBlur="document.FormName.felt3.value = eval(document.FormName.felt1.value) + eval(document.FormName.felt2.value);"> = <input type="text" name="felt3" value=""> </form> så kan du indsætte værdien af asp variablen ved at skrive value="<%=minvariabel%>" i felt1 hvis du ikke vil vise felt1, kan du lave det til type="hidden" i stedet for type="text"
Jeg kigger lige på det...
<script> function laegSammenDu(hvad){ tal1 = document.f.t1.value; document.f.sum.value = parseInt(tal1)+parseInt(hvad); } </script> </head> <body> <form name="f"> <input type="text" name="t1" value="1"> <br> <input type="text" name="t2" value="" onkeyup="laegSammenDu(this.value)"> <input type="text" name="sum" value=""> </form>
eller bare : <form name="f"> <input type="text" name="t1" value="1"> <br> <input type="text" name="t2" value="" onkeyup="document.f.sum.value=parseInt(document.f.t1.value)+parseInt(this.value)"> <input type="text" name="sum" value=""> </form>
Det virker ikke, den kommer med fejlen "document.form.felt3" is null or not a object
<form name="f"> <input type="text" name="t1" value="1"> <br> <input type="text" name="t2" value="" onkeyup="document.forms.f.sum.value=parseInt(document.forms.f.t1.value)+parseInt(this.value)"> <input type="text" name="sum" value=""> </form>
hmmm. her kommer hele min asp kode: ------------------------------------ <% navn = "db/db.mdb" set Database= Server.CreateObject("ADODB.Connection") Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(navn) & ";UID=; PWD=;" sqlkode = "SELECT varer.*, varer.varenr, varer.Sortiment FROM varer WHERE (((varer.Sortiment)=1)) ORDER BY varer.varenr;" set rs=Database.Execute(sqlkode) %> <%= tover %>Din bestilling:<%= s %> <table> <tr> <td colspan="10" align="center"><%= t1 %>C & C<%= s %></td> </tr> <form action="default.asp" method="post" name="form"> <tr> <td><%= t1 %><strong>Varenr.</strong><%= s %></td> <td width="10"></td> <td width="90"><%= t1 %><strong>Navn</strong><%= s %></td> <td><%= t1 %><strong>Beskrivelse</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Brun</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Sort</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Blå</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Kroko</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Pyton</strong><%= s %></td> <td width="40" align="center"><%= t1 %><strong>Pris</strong><%= s %></td> </tr> <% while not rs.EOF farve = "" if rs.fields("brun") = true then farve = farve + "<td valign='top' align='center'>"&t1&request.form(rs.fields("varenr")&"-brun")&s&"</td>" else farve = farve + "<td valign='top' align='center'><input type='hidden' name='"&rs.fields("varenr")&"-brun' value='' disabled size='2' style='border: 1 solid Black; width: 30px; background: transparent;'></td>" end if if rs.fields("sort") = true then farve = farve + "<td valign='top' align='center'>"&t1&request.form(rs.fields("varenr")&"-sort")&s&"</td>" else farve = farve + "<td valign='top' align='center'><input type='hidden' name='"&rs.fields("varenr")&"-sort' value='' size='2' disabled style='border: 1 solid Black; width: 30px; background: transparent;'></td>" end if if rs.fields("blå") = true then farve = farve + "<td valign='top' align='center'>"&t1&request.form(rs.fields("varenr")&"-blå")&s&"</td>" else farve = farve + "<td valign='top' align='center'><input type='hidden' name='"&rs.fields("varenr")&"-blå' value='' disabled size='2' style='border: 1 solid Black; width: 30px; background: transparent;'></td>" end if if rs.fields("kroko") = true then farve = farve + "<td valign='top' align='center'>"&t1&request.form(rs.fields("varenr")&"-kroko")&s&"</td>" else farve = farve + "<td valign='top' align='center'><input type='hidden' name='"&rs.fields("varenr")&"-kroko' value='' disabled size='2' style='border: 1 solid Black; width: 30px; background: transparent;'></td>" end if if rs.fields("pyton") = true then farve = farve + "<td valign='top' align='center'>"&t1&request.form(rs.fields("varenr")&"-pyton")&s&"</td>" else farve = farve + "<td valign='top' align='center'><input type='hidden' name='"&rs.fields("varenr")&"-pyton' value='' disabled size='2' style='border: 1 solid Black; width: 30px; background: transparent;'></td>" end if if ((request.form(rs.fields("varenr")&"-brun") = "0" xor request.form(rs.fields("varenr")&"-brun") = "") and (request.form(rs.fields("varenr")&"-sort") = "0" xor request.form(rs.fields("varenr")&"-sort") = "") and (request.form(rs.fields("varenr")&"-blå") = "0" xor request.form(rs.fields("varenr")&"-blå") = "") and (request.form(rs.fields("varenr")&"-kroko")= "0" xor request.form(rs.fields("varenr")&"-kroko")= "") and (request.form(rs.fields("varenr")&"-pyton")= "0" xor request.form(rs.fields("varenr")&"-pyton")= "")) then else response.write "<tr><td height'10'></td></tr><tr>" response.write "<td valign='top' align='right'>"& t1 &rs.fields("varenr") &s&"</td>" response.write "<td></td>" response.write "<td valign='top'>"& t1 & rs.fields("navn") &s&"</td>" response.write "<td valign='top'>"& t1 & rs.fields("beskrivelse") &s&"</td>" response.write farve response.write "<td valign='top' align='center'>"& t1 & rs.fields("fpris") &",-"&s&"</td>" response.write "</tr>" end if %> <!--#include file="pris.inc"--> <% sum = tempsum + sum rs.movenext wend %> <tr> <td colspan="10" height="1" bgcolor="#000000"></td> </tr> <tr> <td colspan="9"><%= t1 %>Totale salg<%= s %> </td> <td><%= t1 %><input type="text" name="felt1" value="<%= sum %>">,-<%= s %></td> </tr> <tr> <td colspan="9"><%= t1 %>Provision<%= s %></td> <td><%= t1 %><input type="text" name="felt2" onBlur="document.Form.felt3.value = eval(document.Form.felt1.value) + eval(document.Form.felt2.value);">,-<%= s %></td> </tr> <tr> <td colspan="10" height="1" bgcolor="#000000"></td> </tr> <tr> <td colspan="9"><%= t1 %>At betale<%= s %></td> <td><%= t1 %><input type="text" name="felt3" value="">,-<%= s %></td> </tr> <tr> <td colspan="10" height="2" bgcolor="#000000"></td> </tr> </table> <input type="hidden" name="menuknap" value="Forhandlere"><br> <div align="right"><input type="submit" name="bestil" value="bestil"style="background:<%= bgfarvelys %>; border: 1px solid Black;"></div> </form>
I <head>: <script type='text/javascript'> function toDecimaler ( tal ) { if ( typeof( tal ) == String ) tal = parseFloat( tal ); talTx = "_" +Math.round( 100.0*tal ) +"_" if ( talTx.length < 5 ) { preZero = "_000"; taltx = preZero.substring(0,6-talTx.length) +talTx.substring(1); }; talTx = talTx.substring(1,talTx.length-3) +"," + talTx.substring(talTx.length-3,talTx.length-1); return talTx; }; //end toDecimaler ( nummer ) function opdater( frm ) { var op1 = parseFloat( "0"+frm.felt1.value, 10 ); var op2 = parseFloat( "0"+frm.felt2.value, 10 ); var res = op1 + op2; frm.felt3.value = toDecimaler(res); }; //end opdater( Form object ) </script> og så: <form name="formular"> <input name='felt1' type='text' value="" onblur="opdater(this.form);"><br> <input name='felt2' type='text' value="" onblur="opdater(this.form);"><br> <input name='felt3' type='text' value="" onfocus="this.blur();"> </form> Mvh. /dhunters
>>dhunters: Det ser ud til at den virker. Men den regner ikke med decimaler. Den skriver bare XXX,00 ligemeget hvad man ellers skriver i de andre to felter.
Nu har jeg fundet fejlen delvist. Når man i et af de to felter skriver et tal med komma kan den ikke regne det ud, men når man skriver det med punktum kan den godt. Vi skal have den til at virke når man skriver komma
det var dog besværligt for at lægge to tal sammen :)) Anyway bare spørger er tilfreds :) hotcut - En anden gang så prøv at være mere diskret når du kopierer folks scripts.... /Nikolaj
>>nikolajdu: Jeg synes også det er meget besværligt, men de andre forslag i kom med virkede jo slet ikke......
du glemte også lige at nævne at det var kommatal... :)) Anyway så 2 minutter.
>>nikolajdu: Men det var ikke kommatal til at starte med. Vi testede alle samme med hele tal i starten. Der virkede de heller ikke. Vi prøvede bare med kommatal her til sidst, og så at det kun virkede med "." og ikke med ","
Nå, jeg smutter nu. Jeg kommer tilbage i morgen, så hvis i har fundet ud af det er det kanon!
Jeg tror desværre ikke at det er muligt at lave det med komma. Men du kan altid ændre "," til "." i javascriptet i <head>. Det giver måske brugeren et hint.
Er der virkelig ikke nogle af alle jer eksperter der kan kringle den sådan at den kan "regne" med kommatal??
Jo bare giv os lidt tid. Jeg har ikke tidfør i morgen eftermiddag...
Hva så eksperter! Kan i ikke finde en løsning til problemet???
15. juni 2002 - 12:45
#30
Hey. Jeg har stadig ikke fået løst mit problem, men vil stadig gerne have det løst. Er der ikke nogen der kan kringle det her problem????????
24. juni 2002 - 18:07
#31
Nå, lægger du ikke et svar dhunters. Det var dit script der virkede. Hvis du har en ide om hvordan vi får den til at virke med kommatal, må du meget gerne komme den. Til jer andre, er der ikke nogen der kan få det til at virke med kommatal???? !! i er vel eksperter eller hvad! :-)
24. juni 2002 - 18:23
#32
Har prøvet at tænke over det... Jeg har ikke rigtig kunne finde ud af det. Må desværre melde pas. Sorry :(
25. juni 2002 - 13:54
#33
Ok, men læg lige et svar så.
25. juni 2002 - 14:03
#34
Ja ja... Håber du finder ud af det en dag. Mvh. /dhunters
Vi tilbyder markedets bedste kurser inden for webudvikling