Avatar billede bodyguard Nybegynder
13. september 2004 - 03:11 Der er 12 kommentarer og
1 løsning

Læg sammen, træk procent fra og dato fix

Hejsa

Jeg har brug for et script som skal bygges ind i disse feldter:


<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <TBODY>


                                <TR>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Antal</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Produkt:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Info:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Periode Start:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Periode Slut:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Pris:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Pris ialt:</TD>
                                </TR>


                               
                                <TR>
                                <TD><FONT Class="Bodytext"><input name="antal1" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt1" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info1" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart1" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut1" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris1" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt1" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal2" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt2" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info2" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart2" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut2" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris2" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt2" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal3" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt3" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info3" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart3" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut3" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris3" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt3" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal4" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt4" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info4" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart4" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut4" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris4" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt4" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal5" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt5" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info5" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart5" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut5" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris5" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt5" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal6" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt6" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info6" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart6" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut6" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris6" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt6" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal7" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt7" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info7" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart7" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut7" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris7" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt7" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal8" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt8" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info8" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart8" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut8" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris8" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt8" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal9" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt9" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info9" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart9" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut9" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris9" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt9" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal10" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt10" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info10" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart10" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut10" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris10" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt10" type="text" size="7"> Kr.</TD>
                                </TR>

                               
</TBODY></TABLE>   

<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <TBODY>
<TR><td width="65%" valign="top">
<textarea rows="6" style="width: 98%;"></textarea>
</td>
<td width="35%" align="right"><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <tr>
                                  <TD><FONT Class="Bodytext">Total ex. moms</TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="exmoms" type="text" style="width: 100px;"> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext">Moms</TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="moms" type="text" style="width: 35px;"> <input style="width: 61px;" name="momsvis" type="text" READONLY> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext"><b>At betalt</b></TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="atbetalt" style="font-weight: bold;" type="text" style="width: 100px;"> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext"><b>Betalingsdato</b></TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="betalingsdato" style="font-weight: bold; color: red;" type="text" style="width: 101px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                        </TBODY></TABLE>   

</td></tr>
                        </TBODY></TABLE>   

Når siden loades skal feldtet PERIODESTART udfyldes med dagens dato i dette format "13-09-2004". Feldtet PERIODESLUT skal automatisk udfylde sig selv med datoen fra PERIODESTART og lægge tre dage til.

Hvis man indtaster 2 i ANTAL og 20 i PRIS så skal IALT vise værdien i dette tilfælde 40.

I bunden er feldtet EXMOMS det feldt skal indeholde værdierne fra alle IALT feldterne lagt sammen.

Under er feldtet MOMS som er trækprocenten og her skal som standart være den normalt moms sats. Feldtet MOMSVIS skal vise hvor meget momsen udgøre.

Under igen er feldtet ATBETALE som skal vise værdien af EXMOMS minus MOMS.

Nederst er feldtet BETALINGSDATO, dette feldt skal finde den dato som er højest fra PERIODESLUT og så lægge 14 dage til.

Jeg håber at der er en som kan finde ud af at lave sådanne er script :)

Venligst
Mark Zweidorff
Avatar billede skovenborg Nybegynder
13. september 2004 - 22:21 #1
prøv med det her (lettere forvirrende) script:
var antal_rows = 10;
  var moms = 25;
  window.onload = function() {
      now = new Date();
    now_str = now.getDate()+"-"+(now.getMonth()+1)+"-"+now.getFullYear();
    now3 = new Date();
    now3.setTime(now.getTime()+1000*60*60*24*3);
    now3_str = now3.getDate()+"-"+(now3.getMonth()+1)+"-"+now3.getFullYear();
      for (i=1;i<=antal_rows;i++) {
        document.form1.elements["periodestart"+i].value = now_str;
        document.form1.elements["periodeslut"+i].value = now3_str;
    }
    document.form1.moms.value = moms+"%";
  }
 
  function beregn(elm) {
        // Beregner pris ialt for vare
      antal = parseInt(elm.value);
    num = elm.name.substr(elm.name.search(/\d/));
    frm = elm.form;
    antal = parseInt(frm.elements["antal"+num].value);
    if (isNaN(antal)) {antal = 0;}
    pris = parseInt(frm.elements["pris"+num].value);
    if (isNaN(pris)) {pris = 0;}
    if (antal >= 0 && pris >= 0) {
        frm.elements["ialt"+num].value = pris*antal;
    }
    // Beregner summen
    var sum = 0;
    var maxDato = new Date().getTime();
    for (i=1;i<=antal_rows;i++) {
        val  = parseInt(frm.elements["ialt"+i].value);
        if (isNaN(val)) {val = 0;}
        sum += val;
        // Beregner betalingsdato
        temp_dato  = frm.elements["periodeslut"+i].value.split("-");
        if (temp_dato.length == 3) {
            maxDato = Math.max(maxDato,new Date(parseInt(temp_dato[2]),parseInt(temp_dato[1])-1,parseInt(temp_dato[0])).getTime());
        }
    }
    var d = new Date();
    d.setTime(maxDato);
    frm.betalingsdato.value = d.getDate()+"-"+(d.getMonth()+1)+"-"+d.getFullYear();
    // Beregner og indsætter de sidste slutresultater
    frm.exmoms.value = sum;
    momsvis = sum/100*moms;
    frm.momsvis.value = momsvis;
    frm.atbetale.value = sum - momsvis;
  }

og så skal din form se sådan ud:
<body>
<form name="form1">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <TBODY>


                                <TR>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Antal</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Produkt:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Info:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Periode Start:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Periode Slut:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Pris:</TD>
                                <TD><FONT face=Verdana color=#808080 size=1><b>Pris ialt:</TD>
                                </TR>


                             
                                <TR>
                                <TD><FONT Class="Bodytext"><input name="antal1" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt1" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info1" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart1" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut1" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris1" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt1" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal2" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt2" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info2" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart2" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut2" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris2" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt2" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal3" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt3" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info3" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart3" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut3" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris3" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt3" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal4" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt4" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info4" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart4" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut4" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris4" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt4" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal5" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt5" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info5" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart5" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut5" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris5" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt5" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal6" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt6" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info6" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart6" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut6" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris6" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt6" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal7" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt7" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info7" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart7" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut7" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris7" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt7" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>

<TR>
                                <TD><FONT Class="Bodytext"><input name="antal8" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt8" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info8" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart8" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut8" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris8" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt8" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal9" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt9" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info9" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart9" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut9" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris9" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt9" type="text" size="7"> Kr.</TD>
                                </TR>

                                <TR>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                <TD><br></TD>
                                </TR>
<TR>
                                <TD><FONT Class="Bodytext"><input name="antal10" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="produkt10" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="info10" type="text" size="20"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodestart10" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="periodeslut10" type="text" size="10"></TD>
                                <TD><FONT Class="Bodytext"><input name="pris10" onkeyup="beregn(this);" type="text" size="5"></TD>
                                <TD><FONT Class="Bodytext"><input name="ialt10" type="text" size="7"> Kr.</TD>
                                </TR>

                             
</TBODY></TABLE> 

<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <TBODY>
<TR><td width="65%" valign="top">
<textarea rows="6" style="width: 98%;"></textarea>
</td>
<td width="35%" align="right"><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                <tr>
                                  <TD><FONT Class="Bodytext">Total ex. moms</TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="exmoms" type="text" style="width: 100px;"> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext">Moms</TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="moms" type="text" style="width: 35px;"> <input style="width: 61px;" name="momsvis" type="text" READONLY> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext"><b>At betale</b></TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="atbetale" style="font-weight: bold;" type="text" style="width: 100px;"> Kr.&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                                <tr>
                                  <TD><FONT Class="Bodytext"><b>Betalingsdato</b></TD>
                                <TD align="right"><FONT Class="Bodytext"><input name="betalingsdato" style="font-weight: bold; color: red;" type="text" style="width: 101px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
                                </TR>
                        </TBODY></TABLE> 

</td></tr>
                        </TBODY></TABLE>
</form>           
</body>
Avatar billede skovenborg Nybegynder
13. september 2004 - 22:23 #2
Det skal siges der ikke tages hensyn til om momsen bliver ændret, da det lyder lidt mærkeligt at man skal kunne det. Man det kan hurtigt laves hvis du har brug for det.

Ellers skal du indstille hvor mange varer der er (antal rækker):
var antal_rows = 10;
og momsprocenten:
var moms = 25;
Kan indstilles oppe øverst i scriptet.
Avatar billede skovenborg Nybegynder
13. september 2004 - 22:26 #3
og så til en lille ændring, så den tester om datoerne er skrevet rigtigt ind:
// Beregner summen
    var sum = 0;
    var maxDato = new Date().getTime();
    for (i=1;i<=antal_rows;i++) {
        val  = parseInt(frm.elements["ialt"+i].value);
        if (isNaN(val)) {val = 0;}
        sum += val;
        // Beregner betalingsdato
        temp_dato  = frm.elements["periodeslut"+i].value.split("-");
        if (temp_dato.length == 3) {
            d = new Date(parseInt(temp_dato[2]),parseInt(temp_dato[1])-1,parseInt(temp_dato[0])).getTime();
            if (!isNaN(d)) {maxDato = Math.max(maxDato,d);}
        }
    }
    var d = new Date();
    d.setTime(maxDato);
    frm.betalingsdato.value = d.getDate()+"-"+(d.getMonth()+1)+"-"+d.getFullYear();
Avatar billede bodyguard Nybegynder
13. september 2004 - 22:31 #4
Oki, en lille ting, det skal være muligt at ændre ialt værdien så så hvis resultatet er 40 skal det være muligt at indtaste fx 10 og det skal også ændres i resten at regne stykket...

Dato skal også helst være 13-09-2004 og ikke 13-9-2004, jeg mener at det skal være 2 cifret...

Venligst
Mark Zweidorff
Avatar billede skovenborg Nybegynder
13. september 2004 - 22:40 #5
men hvis man ændrer ialt-prisen så duer antal og pris-felterne jo ikke. Og det er jo ikke sikkert de to ting kommer til at passe sammen. Så jeg skal lige høre hvordan du havde tænkt dig det skulle foregå - altså om pris og antal skal sættes til nul eller hva'?

Angående det andet problem, så kan det ændres på denne måde (inkluderer lige en funktion jeg havde liggende - så kan du måske også få glæde af den ellers):
var antal_rows = 10;
  var moms = 25;
  window.onload = function() {
      now = new Date();
    now3 = new Date();
    now3.setTime(now.getTime()+1000*60*60*24*3);
      for (i=1;i<=antal_rows;i++) {
        document.form1.elements["periodestart"+i].value = now.format("DD-MM-YYYY");
        document.form1.elements["periodeslut"+i].value = now3.format("DD-MM-YYYY");
    }
    document.form1.moms.value = moms+"%";
  }
 
/**
* Formats the current date.
* Added v0.2.10
* Last updated v0.3.6
* @param format the format-string. See Syntax.
* @returns a string with the formatted date
* Syntax:
* YY = Year (to digits) case insentensive
* YYYY = Year (four digits) case insentensive
* MM = Month (two digits) case sentensive
* DD = Day (two digits) case insentensive
* hh = Hour (two digits) case insentensive
* mm = Minutes (two digits) case sentensive
* ss = Seconds (two digits) case insentensive
**/
Date.prototype.format = function(format)
{
    // Gets the date information
    date_day = ((day = this.getDate()) < 10) ? "0"+day : day;
    date_month = ((month = this.getMonth()+1) < 10)? "0"+month : month;
    date_year = this.getUTCFullYear();
    date_hours = ((hours = this.getHours()) < 10) ? "0"+hours :hours;
    date_minutes = ((minutes = this.getMinutes()) < 10) ? "0"+minutes : minutes;
    date_seconds = ((seconds = this.getSeconds()) < 10) ? "0"+seconds : seconds;
    // Replace code with data
    format = format.replace(/DD/ig,date_day);
    format = format.replace(/MM/g,date_month);
    format = format.replace(/YYYY/ig,date_year);
    format = format.replace(/YY/ig,date_year.toString().substring(2,4));
    format = format.replace(/hh/ig,date_hours);
    format = format.replace(/mm/g,date_minutes);
    format = format.replace(/ss/ig,date_seconds);
    return format;
} // END function Date->format()
 
  function beregn(elm) {
        // Beregner pris ialt for vare
      antal = parseInt(elm.value);
    num = elm.name.substr(elm.name.search(/\d/));
    frm = elm.form;
    antal = parseInt(frm.elements["antal"+num].value);
    if (isNaN(antal)) {antal = 0;}
    pris = parseInt(frm.elements["pris"+num].value);
    if (isNaN(pris)) {pris = 0;}
    if (antal >= 0 && pris >= 0) {
        frm.elements["ialt"+num].value = pris*antal;
    }
    // Beregner summen
    var sum = 0;
    var maxDato = new Date().getTime();
    for (i=1;i<=antal_rows;i++) {
        val  = parseInt(frm.elements["ialt"+i].value);
        if (isNaN(val)) {val = 0;}
        sum += val;
        // Beregner betalingsdato
        temp_dato  = frm.elements["periodeslut"+i].value.split("-");
        if (temp_dato.length == 3) {
            d = new Date(parseInt(temp_dato[2]),parseInt(temp_dato[1])-1,parseInt(temp_dato[0])).getTime();
            if (!isNaN(d)) {maxDato = Math.max(maxDato,d);}
        }
    }
    var d = new Date();
    d.setTime(maxDato);
    frm.betalingsdato.value = d.format("DD-MM-YYYY");
    // Beregner og indsætter de sidste slutresultater
    frm.exmoms.value = sum;
    momsvis = sum/100*moms;
    frm.momsvis.value = momsvis;
    frm.atbetale.value = sum - momsvis;
  }
Avatar billede bodyguard Nybegynder
13. september 2004 - 22:43 #6
Nej det skal bare blive stående, det er tiltænkt hvis man giver en fast pris på x antal vare....

Og antal samt pris skal bare blive som de blev udfyldt...
Avatar billede bodyguard Nybegynder
13. september 2004 - 22:53 #7
Og så er der Betalingsdato den skal automatisk gå ind og finde PERIODESLUT's højeste dato fx:

feldt1: 13-09-2004
feldt2: 19-09-2004
feldt3: 14-09-2004

I dette tilfælde ville det blive feldt2, 19-09-2004 pluds 14 dage ...
Avatar billede skovenborg Nybegynder
13. september 2004 - 23:07 #8
nåja, havde glemt de 14 dage. I så fald skal dit script se sådan ud:
var antal_rows = 10;
  var moms = 25;
  window.onload = function() {
      now = new Date();
    now3 = new Date();
    now3.setTime(now.getTime()+1000*60*60*24*3);
      for (i=1;i<=antal_rows;i++) {
        document.form1.elements["periodestart"+i].value = now.format("DD-MM-YYYY");
        document.form1.elements["periodeslut"+i].value = now3.format("DD-MM-YYYY");
    }
    document.form1.moms.value = moms+"%";
  }
 
/**
* Formats the current date.
* Added v0.2.10
* Last updated v0.3.6
* @param format the format-string. See Syntax.
* @returns a string with the formatted date
* Syntax:
* YY = Year (to digits) case insentensive
* YYYY = Year (four digits) case insentensive
* MM = Month (two digits) case sentensive
* DD = Day (two digits) case insentensive
* hh = Hour (two digits) case insentensive
* mm = Minutes (two digits) case sentensive
* ss = Seconds (two digits) case insentensive
**/
Date.prototype.format = function(format)
{
    // Gets the date information
    date_day = ((day = this.getDate()) < 10) ? "0"+day : day;
    date_month = ((month = this.getMonth()+1) < 10)? "0"+month : month;
    date_year = this.getUTCFullYear();
    date_hours = ((hours = this.getHours()) < 10) ? "0"+hours :hours;
    date_minutes = ((minutes = this.getMinutes()) < 10) ? "0"+minutes : minutes;
    date_seconds = ((seconds = this.getSeconds()) < 10) ? "0"+seconds : seconds;
    // Replace code with data
    format = format.replace(/DD/ig,date_day);
    format = format.replace(/MM/g,date_month);
    format = format.replace(/YYYY/ig,date_year);
    format = format.replace(/YY/ig,date_year.toString().substring(2,4));
    format = format.replace(/hh/ig,date_hours);
    format = format.replace(/mm/g,date_minutes);
    format = format.replace(/ss/ig,date_seconds);
    return format;
} // END function Date->format()
 
  function beregn(elm) {
        // Beregner pris ialt for vare
      antal = parseInt(elm.value);
    num = elm.name.substr(elm.name.search(/\d/));
    frm = elm.form;
    antal = parseInt(frm.elements["antal"+num].value);
    if (isNaN(antal)) {antal = 0;}
    pris = parseInt(frm.elements["pris"+num].value);
    if (isNaN(pris)) {pris = 0;}
    if (antal >= 0 && pris >= 0) {
        frm.elements["ialt"+num].value = pris*antal;
    }
    beregnIalt(frm);
  }
  function beregnIalt(frm) {
      // Beregner summen
    var sum = 0;
    var maxDato = new Date().getTime();
    for (i=1;i<=antal_rows;i++) {
        val  = parseInt(frm.elements["ialt"+i].value);
        if (isNaN(val)) {val = 0;}
        sum += val;
        // Beregner betalingsdato
        temp_dato  = frm.elements["periodeslut"+i].value.split("-");
        if (temp_dato.length == 3) {
            d = new Date(parseInt(temp_dato[2]),parseInt(temp_dato[1])-1,parseInt(temp_dato[0])).getTime();
            if (!isNaN(d)) {maxDato = Math.max(maxDato,d);}
        }
    }
    var d = new Date();
    d.setTime(maxDato+1000*60*60*24*14);
    frm.betalingsdato.value = d.format("DD-MM-YYYY");
    // Beregner og indsætter de sidste slutresultater
    frm.exmoms.value = sum;
    momsvis = sum/100*moms;
    frm.momsvis.value = momsvis;
    frm.atbetale.value = sum - momsvis;
  }

og du skal til hvert af dine ialt felter tilføje onkeyup="beregnIalt(this.form)":
<input name="ialt1" onkeyup="beregnIalt(this.form)" type="text" size="7">

Du ved vel forresten godt at du glemmer at afslutte din font-tags!?!
Avatar billede bodyguard Nybegynder
14. september 2004 - 00:16 #9
nåe ja, køre lige mit scripter der fikser det for mig :)
Avatar billede bodyguard Nybegynder
14. september 2004 - 00:20 #10
kanont!!!

Takker ydmygt.
Avatar billede skovenborg Nybegynder
14. september 2004 - 00:26 #11
det var så lidt :-)

Men var det bare mig eller havde eksperten ikke lidt problemmer med databasen lige før - temmlig træls må man sige...
Avatar billede bodyguard Nybegynder
14. september 2004 - 00:28 #12
Jov MEGET store problemer, jeg prøvede at skrive en mail til Webmaster@Eksterten.dk men den virker ikke mere :|
Avatar billede skovenborg Nybegynder
14. september 2004 - 22:47 #13
nåja, det ser ud til at virke igen - og tak for points :-)
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