Avatar billede mhoffmann Nybegynder
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
Avatar billede hotcut Nybegynder
06. maj 2002 - 21:30 #1
<input type="text" onkeydown="sum()">
Avatar billede hotcut Nybegynder
06. maj 2002 - 21:31 #2
eller er det onkeypress? det er det egentligt nok...
Prøv at se hvad for en der aktiverer funktionen.
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 21:32 #3
Jeg vil foreslå onkeyup="sum()"....
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 21:32 #4
Jeg kender ikke noget til javascript, kun ASP. Hvordan skal jeg bruge det du lige skrev?
Avatar billede Slettet bruger
06. maj 2002 - 21:32 #5
hehe...mangler selve funktionen ikk?
Avatar billede hotcut Nybegynder
06. maj 2002 - 21:34 #6
så må du nok forklare lidt nærmere om hvad funktionen skal kunne...
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 21:34 #7
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.
Avatar billede kimiwan Nybegynder
06. maj 2002 - 21:35 #8
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"
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 21:37 #9
Jeg kigger lige på det...
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 21:41 #10
<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>
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 21:43 #11
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>
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 21:48 #12
Det virker ikke, den kommer med fejlen "document.form.felt3" is null or not a object
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 21:49 #13
min virker fint....
Avatar billede hotcut Nybegynder
06. maj 2002 - 21:50 #14
<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>
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 21:52 #15
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>
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:00 #16
Jeg har lagt min fil op på en server, så den er lidt mere overskuelig at gennemlæse.

http://www.thbs.dk/visvare.inc
Avatar billede dhunters Nybegynder
06. maj 2002 - 22:02 #17
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
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:09 #18
>>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.
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:12 #19
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
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 22:14 #20
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
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:15 #21
>>nikolajdu: Jeg synes også det er meget besværligt, men de andre forslag i kom med virkede jo slet ikke......
Avatar billede nikolajdu Nybegynder
06. maj 2002 - 22:19 #22
du glemte også lige at nævne at det var kommatal... :))

Anyway så 2 minutter.
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:21 #23
>>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 ","
Avatar billede mhoffmann Nybegynder
06. maj 2002 - 22:26 #24
Nå, jeg smutter nu. Jeg kommer tilbage i morgen, så hvis i har fundet ud af det er det kanon!
Avatar billede dhunters Nybegynder
07. maj 2002 - 13:44 #25
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.
Avatar billede mhoffmann Nybegynder
07. maj 2002 - 20:37 #26
Er der virkelig ikke nogle af alle jer eksperter der kan kringle den sådan at den kan "regne" med kommatal??
Avatar billede nikolajdu Nybegynder
08. maj 2002 - 00:14 #27
Jo bare giv os lidt tid. Jeg har ikke tidfør i morgen eftermiddag...
Avatar billede mhoffmann Nybegynder
08. maj 2002 - 18:12 #28
Ok, cool nok
Avatar billede mhoffmann Nybegynder
11. maj 2002 - 21:15 #29
Hva så eksperter!

Kan i ikke finde en løsning til problemet???
Avatar billede mhoffmann Nybegynder
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????????
Avatar billede mhoffmann Nybegynder
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! :-)
Avatar billede dhunters Nybegynder
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 :(
Avatar billede mhoffmann Nybegynder
25. juni 2002 - 13:54 #33
Ok, men læg lige et svar så.
Avatar billede dhunters Nybegynder
25. juni 2002 - 14:03 #34
Ja ja... Håber du finder ud af det en dag.

Mvh.
/dhunters
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester