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

udreg via feldter

Hejsa

Jeg har brug for et lidt kompliceret javascript.

Jeg har tre feldter som skal implementeres:
Antal(name="antal1") Pris(name="pris1") Ialt(name="ialt1")
Antal(name="antal2") Pris(name="pris2") Ialt(name="ialt2")
Antal(name="antal3") Pris(name="pris3") Ialt(name="ialt3")
Antal(name="antal4") Pris(name="pris4") Ialt(name="ialt4")
OSV. op til 10

når man udfylder antnl og pris skal reslutatet vises i Ialt feldtet, og sådan skal det gælde for alle feldterne. Dog skal man kunne udfylde ialt selv altså ændre resultatet.

I bunden skal der være et feldt mere som viser feldterne ialt lagt sammen, det feldt skal hedde (name="exmoms").

Under exmoms skal der være et feldt der hedder (name="moms") dette feldt skal som udgangspunkt indeholde dansk moms sats i %

Under moms skal der være endnu et feldt (name="atbetale") som indeholder værdien af "exmoms" minus "moms" trækprocenten. Også dette feldt skal være muligt at ændre i.

Jeg håber der er en som kan lave dette :)

Og hvis det er inden kl 0500 så giver jeg 200 points ialt som tak :)

Venligst
Mark Zweidorff
Avatar billede roenving Novice
12. september 2004 - 03:05 #1
Måske sådan, med ændring af disabled-felterne ?-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bestillingsformular</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<script language="javascript" type="text/javascript">
numFields = 3;
function beregn(fld){
    if(!fld.value.match(/^\d+\.?\d*$/)){
        alert('Ugyldigt antal angivet');
        fld.value = fld.defaultValue;
        return false;
    }
   
    var num = fld.name.substring(5);
    var p = document.getElementById("Pris"+num).value;
    var s = document.getElementById("Sum"+num);
    var ialt = document.getElementById("Ialt0");
    var ialt1 = document.getElementById("Ialt1");
    var pris = p;
    if(p.indexOf(",-")>-1){
        pris = p.substring(0,p.indexOf(",-"));
    }else{
        komma = p.indexOf(",")
        if(p.indexOf(",")){
            pris = (p.substring(0,komma)+"."+p.substring(komma+1));
        }
    }
    pris = +pris;
    var sum = pris*fld.value;
    s.value = formatNum(sum);
    sum = 0;
    for(i=1;numFields+1>i;i++){
        sum += +document.getElementById("Sum"+i).value
    }
    ialt.value = formatNum(sum);
    ialt1.value = formatNum(sum*1.25);
}

function formatNum(t){
    if((""+t).length>(""+t).indexOf(".")+3)t=(Math.round(t*100))/100;
    if((""+t).indexOf(".")==-1)t=t+".00";
    if((""+t).indexOf(".")+2==(""+t).length)t=t+"0";
    return t;
}
</script>
</head>

<body>
<br>
<form id="minForm" name="minForm" action="http://www.eksperten.dk" method="post" onsubmit="alert('Bestillingen bliver nu sendt !-)');return false">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
    <td>
        <input id="Antal1" name="Antal1" type="text" value="Indtast antal" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"></td>
    <td align="right">
        <input id="Pris1" name="Pris1" type="text" value="100,20" size="20" disabled style="text-align:right;">&nbsp;</td>
    <td>
        <input id="Sum1" name="Sum1" type="text" value="" disabled size="20" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td>
        <input id="Antal2" name="Antal2" type="text" value="Indtast antal" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"></td>
    <td align="right">
        <input id="Pris2" name="Pris2" type="text" value="25,-" size="20" disabled style="text-align:right;">&nbsp;</td>
    <td>
        <input id="Sum2" name="Sum2" type="text" value="" disabled size="20" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td>
        <input id="Antal3" name="Antal3" type="text" value="Indtast antal" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"></td>
    <td align="right">
        <input id="Pris3" name="Pris3" type="text" value="93,75" size="20" disabled style="text-align:right;">&nbsp;</td>
    <td>
        <input id="Sum3" name="Sum3" type="text" value="" disabled size="20" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td colspan="2" align="right">
        Pris ekskl. moms:&nbsp;</td>
    <td>
        <input id="ialt0" name="ialt0" type="text" value="" disabled size="20" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td colspan="2" align="right">
        Samlet pris inkl. moms:&nbsp;</td>
    <td>
        <input id="ialt1" name="ialt1" type="text" value="" disabled size="20" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td colspan="3">
        <input type="submit" value="Send bestilling" size="20"></td>
</tr>
</table>       
</form>
</body>

</html>
Avatar billede bodyguard Nybegynder
12. september 2004 - 03:13 #2
ehmmm det virker ikke specielt optimalt, det skal ikke være et krav at der skal decimal tal på, og så skal man kunne ændre prisen der er lidt problemer hvis man beslutter sig for at gøre det efter man har indtastet antal.

Der er heller ikke moms % som man kan ændre..

men ellers var det da tæt på...
Avatar billede roenving Novice
12. september 2004 - 03:44 #3
Nu tog jeg jo også bare en, jeg havde liggende, for der var jo ingen grund til at bearbejde den, hvis den ikke skulle bruges !-)

-- men mener du, at man skal kunne angive hvadsomhelst, men at maskinen skal regne det ud, hvis det er muligt ?-)
Avatar billede bodyguard Nybegynder
12. september 2004 - 04:05 #4
ja, det skal ikke være nogle faste satser, bare tomme feldter end til man udfylder dem.
Avatar billede bodyguard Nybegynder
12. september 2004 - 17:51 #5
INGEN ?

Plz ....
Avatar billede bodyguard Nybegynder
28. september 2004 - 22:44 #6
lukket
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