Avatar billede backside Nybegynder
17. oktober 2005 - 20:22 Der er 12 kommentarer og
1 løsning

Regn sammen fra flere felter

Jeg har brug for lidt hjælp til at udregne noget.
Jeg skal ha udregnet summen af flere felter.
Har lavet et eksempel så i kan se hvordan jeg mener.
http://www.backside.dk/e/loen.htm
Hverdage giver feks. 2000,-, Lørdage giver 2500,- og Søndage giver 3500,-
Jeg skal så kunne angive antallet af de forskellige dage og til sidst udregne denne måneds løn.

Har prøvet mig lidt frem, men der kommer ikke rigtig noget ud af det.
Hvem kan hjælpe?
Avatar billede softspot Forsker
17. oktober 2005 - 20:33 #1
Kan du bruge dette til noget:

<html>
<head>
<title></title>
<script type="text/javascript">
function udregnLoen(obj) {
  var bRes = 0;
  if(obj) {
    if(!isNaN(parseInt(obj.form.hverdage.value)))
      bRes += parseInt(obj.form.hverdage.value) * 2000;
    if(!isNaN(parseInt(obj.form.loerdage.value)))
      bRes += parseInt(obj.form.loerdage.value) * 2500;
    if(!isNaN(parseInt(obj.form.soendage.value)))
      bRes += parseInt(obj.form.soendage.value) * 3500;
    obj.form.loen.value = bRes;
  }
  return true;
}
</script>
</head>
<body>
<form>
<table border="0" cellspacing="1" cellpadding="5" bgcolor="#000000">
  <tr>
    <td bgcolor="#FFFFFF">Type</td>
    <td bgcolor="#FFFFFF">Antal</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Hverdage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="hverdage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Lørdage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="loerdage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Søndage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="soendage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">
        <input type="button" value="Udregn" name="beregn" onclick="udregnLoen(this)">
      &nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Ialt</td>
    <td bgcolor="#FFFFFF"><input type="text" name="loen" size="20"></td>
  </tr>
</table>
</form>
</body>

</html>
Avatar billede backside Nybegynder
17. oktober 2005 - 20:43 #2
Er det bare det??
Tror jeg har været langt ved siden af.

Nå, men det er bare perfekt. Lige det jeg skulle bruge.

Takker. Smid et svar.
Avatar billede softspot Forsker
17. oktober 2005 - 20:44 #3
Velbekomme :)
Avatar billede backside Nybegynder
17. oktober 2005 - 20:52 #4
Glemte lige at der jo skal være mulighed for øre også.
Altså 2500,50 kr. eksempelvis.
Avatar billede backside Nybegynder
17. oktober 2005 - 20:57 #5
Har klaret den. Tak for hjælpen.
Avatar billede softspot Forsker
17. oktober 2005 - 21:01 #6
Ja, men parseFloat i stedet, ikk'?

Tak for point :)
Avatar billede backside Nybegynder
17. oktober 2005 - 21:47 #7
Jo, tænkte lige på parseFloat.

Men jeg har lige et tillægsspørgsmål.
Hvordan får jeg en checkbox på som tilføjer et fast beløb?

(Jeg opretter et spm med flere point til dig)
Avatar billede softspot Forsker
17. oktober 2005 - 21:56 #8
Hvordan skal det helt præcis fungere det der faste beløb? Skal det bare lægges til den beregnede løn efter summering af det hele, eller hvordan skal det forstås?
Avatar billede softspot Forsker
17. oktober 2005 - 22:00 #9
Noget i denne stil:

<html>
<head>
<title></title>
<script type="text/javascript">
function udregnLoen(obj) {
  var bRes = 0;
  if(obj) {
    var itillaeg = (obj.form.tillaeg.checked ? 2550 : 0);
    if(!isNaN(parseFloat(obj.form.hverdage.value)))
      bRes += parseFloat(obj.form.hverdage.value) * 2000;
    if(!isNaN(parseFloat(obj.form.loerdage.value)))
      bRes += parseFloat(obj.form.loerdage.value) * 2500;
    if(!isNaN(parseFloat(obj.form.soendage.value)))
      bRes += parseFloat(obj.form.soendage.value) * 3500;
    obj.form.loen.value = bRes + itillaeg;
  }
  return true;
}
</script>
</head>
<body>
<form>
<table border="0" cellspacing="1" cellpadding="5" bgcolor="#000000">
  <tr>
    <td bgcolor="#FFFFFF">Type</td>
    <td bgcolor="#FFFFFF">Antal</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Hverdage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="hverdage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Lørdage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="loerdage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Søndage</td>
    <td bgcolor="#FFFFFF"><input type="text" name="soendage" size="6"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Tillæg</td>
    <td bgcolor="#FFFFFF"><input type="checkbox" name="tillaeg"></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">
        <input type="button" value="Udregn" name="beregn" onclick="udregnLoen(this)">
      &nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">Ialt</td>
    <td bgcolor="#FFFFFF"><input type="text" name="loen" size="20"></td>
  </tr>
</table>
</form>
</body>

</html>
Avatar billede backside Nybegynder
17. oktober 2005 - 22:02 #10
Ja, det er et fast tillæg der kun kan være EN gang på en lønperiode. Men ikke hver gang.

Et personalemøde giver et tillæg, har man været til det i løbet af en lønperiode skal det "hakkes" af så beløbet lægges til lønnen.
Avatar billede softspot Forsker
17. oktober 2005 - 22:05 #11
Se ovenfor... :)
Avatar billede backside Nybegynder
17. oktober 2005 - 22:07 #12
Jep, fik ikke opdateret.
Det funker, tak.
http://exp.dk/spm/656924
Avatar billede softspot Forsker
17. oktober 2005 - 22:14 #13
Velbekomme og tak for flere point :)
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