Avatar billede danskebanner Nybegynder
15. oktober 2002 - 08:45 Der er 12 kommentarer og
1 løsning

Ændrig til form (lægge to felter sammen)

Prøv lige at se på denne form som vi bruger.
I feltet 'reparb' indtaster vi et beløb, det samme gør vi i 'repdele'
kan det lade sig gøre at addere felterne og skrive resustatet i 'reptotal' helst uden at trykke på nogle knapper, feks. med java ?
Se evt. på denne calculator, hvor det ikke er nødvendigt at trykke på noget:
http://javascript.internet.com/calculators/beat-counter.html


100 point for brugbart svar.


<form method="post" action="kundeupdate.asp">
<font face="Arial, Helvetica, sans-serif" size="1">Arbejdsløn:
<input type="text" name="reparb" SIZE=30 value="<%=record("reparb")%>"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Reservedele:
<input type="text" name="repdele" SIZE=30 value="<%=record("repdele")%>"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Tilbud total:
<input type="text" name="reptotal" SIZE=30 value="<%=record("reptotal")%>"><br>
<input type="submit" value="opdater rettelser">
</form>
Avatar billede eagleeye Praktikant
15. oktober 2002 - 09:20 #1
Du kan lave en function i stil med dette som ligger de to tal samme:


<SCRIPT LANGUAGE="JavaScript">
<!--
function addtal(form) {
if ((form.reparb.value == null || form.reparb.value.length == 0) ||
  (form.repdele.value == null || form.repdele.value.length == 0)) {
  return;
}
  form.reptotal.value = (form.reparb.value-0) + (form.repdele.value -0)
}
//-->
</script>


Og så kalde funcione i onChange på de to input felter:

<form method="post" action="kundeupdate.asp">
<font face="Arial, Helvetica, sans-serif" size="1">Arbejdsløn:
<input type="text" name="reparb" SIZE=30  onchange="addtal(this.form);"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Reservedele:
<input type="text" name="repdele" SIZE=30 onchange="addtal(this.form);"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Tilbud total:
<input type="text" name="reptotal" SIZE=30 ><br>
<input type="submit" value="opdater rettelser">
</form>
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 09:42 #2
Dette vil da ikke sætte resultatet i 'reptoal'  samt value skal bruges da resultatet skal kunne hentes fra DB
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 09:46 #3
Der var jeg lidt for hurtig, reptotal sættes godtnok
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 09:53 #4
Eagleeye:

Det virker jo fint, jeg placerede bare 'value' feltet igen og det virker ok.
Avatar billede eagleeye Praktikant
15. oktober 2002 - 09:55 #5
så skal form se sådan ud:

<form method="post" action="kundeupdate.asp">
<font face="Arial, Helvetica, sans-serif" size="1">Arbejdsløn:
<input type="text" name="reparb" SIZE=30 value="<%=record("reparb")%>" onchange="addtal(this.form);"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Reservedele:
<input type="text" name="repdele" SIZE=30 value="<%=record("repdele")%>" onchange="addtal(this.form);"><br>
<font face="Arial, Helvetica, sans-serif" size="1">Tilbud total:
<input type="text" name="reptotal" SIZE=30 value="<%=record("reptotal")%>"><br>
<input type="submit" value="opdater rettelser">
</form>
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 09:55 #6
Lige et par tillægsspørgsmål:

Er det muligt at bruge komma istedet for punktum ?? feks. 1245,55
Er det muligt at bruge tekst i feltet ?? feks.  Kr 1245,55
Avatar billede eagleeye Praktikant
15. oktober 2002 - 09:56 #7
Ok.. ja jeg kom til at fjeren value = i den føtste form. Det skulle være med i den sidte.
Avatar billede eagleeye Praktikant
15. oktober 2002 - 09:57 #8
Hvis der står tekst i feltet så skal der fjernes for den kan ligge det sammen...
Avatar billede eagleeye Praktikant
15. oktober 2002 - 10:04 #9
Prøv eat rette functionen:


<SCRIPT LANGUAGE="JavaScript">
<!--
function addtal(form) {
if ((form.reparb.value == null || form.reparb.value.length == 0) ||
  (form.repdele.value == null || form.repdele.value.length == 0)) {
  return;
}
  form.reptotal.value = parseFloat(form.reparb.value) + parseFloat(form.repdele.value)
}
//-->
</script>
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 10:19 #10
Det sidste havde kun den funktion at komme blev true man det virker ikke feks:

100,25 + 100,25 = 200.00

Det virker med punktum
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 10:24 #11
Kan man gøre så den feks. ved 595 selv tilføger .00 så det bliver til 595.00 ??
Avatar billede eagleeye Praktikant
15. oktober 2002 - 10:47 #12
komme ogpunktum er afhængigaf browseren opsætning UK/DK
eller kan functionen laves sådan her:


<SCRIPT LANGUAGE="JavaScript">
<!--
function addtal(form) {
if ((form.reparb.value == null || form.reparb.value.length == 0) ||
  (form.repdele.value == null || form.repdele.value.length == 0)) {
  return;
}

var t1 = form.reparb.value;
var t1_arr = t1.split(",");
var t2 = form.repdele.value;
var t2_arr = t2.split(",");
if ((t1_arr[1] == null) || (t1_arr[1].length == 0)) {
  t1_arr[1] = 0;
}
if ((t2_arr[1] == null) || (t2_arr[1].length == 0)) {
  t2_arr[1] = 0;
}
var kommaTal = parseInt(t1_arr[1]) + parseInt(t2_arr[1]);
if (kommaTal > 100) {
  kommaTal -= 100;
  t1_arr[0] = t1_arr[0] - 0 + 1;
}
kommaTal = kommaTal + '';
if (kommaTal.length == 0) {
kommaTal = "00";
}
if (kommaTal.length == 1) {
kommaTal = "0" + kommaTal;
}
form.reptotal.value = parseInt(t1_arr[0]) + parseInt(t2_arr[0]) + "," + kommaTal;
}
//-->
</script>
Avatar billede danskebanner Nybegynder
15. oktober 2002 - 11:22 #13
Jeps det virker bare :)

Point til dig og et stort tak for hjælpen.
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