Avatar billede klid Nybegynder
12. oktober 2004 - 22:56 Der er 3 kommentarer

Bestillingsformular - hvorfor virker den ikke

Jeg vil gerne sælge en masse frugt og sådan noget - så jeg har lavet en bestillingsformular. Den er inspireret af Roewing, men lad ham få æren for det geniale i den, og lad så mig få skylden for at den ikke virker i sin nuværende udformning.

Hvordan får jeg tælleren til at tælle automatisk på forsendelsen.
Hvis fx et æble koster 2 kr at sende
En svamp 3 kr
Ferskner 4 kr
og saftige oranges 5 kr.

Så skal man slet ikke kunne komme ind i det felt med forsendelsen.

Men værre er det at bestillingen aldrig når frem. "Mailto" fungere ikke.

Men her er herlighederne så

<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">
<SCRIPT LAUNGUAGE="JavaScript1.2" SRC="eks7.js">
</SCRIPT>
<LINK REL=STYLESHEET HREF="eks5.css" TYPE="text/css">
<script language="javascript" type="text/javascript">
numFields = 5;
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 porto = s + porto;
    var ant = document.getElementById("Antal"+num);
    var ialt = document.getElementById("Sum0");
    var antialt = document.getElementById("Antal0");
    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;
    ant = +ant;
    var sum = pris*fld.value;
    var asum = fld.value;
    s.value = formatNum(sum);
    ant.value = formatNum(asum);
    sum = 0;
    asum = 0;
    for(i=1;numFields+1>i;i++){
        sum += +document.getElementById("Sum"+i).value
    asum += +document.getElementById("Antal"+i).value
    }
    ialt.value = formatNum(sum);
    porto = frank(ant);
}

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;
}
function frank(f) {
var x=0;
if(f>7) {
x=25,00;
}
if(f>4) {
x=20,00;
}
if(f>2) {
x=12,00;
}
if(f=1) {
x=6,50;
}
if(f=0) {
x=0,00;
}
return x;
}
</script>
</head>
<body bgcolor="#00aaFF" text="#000000" link="#0000FF"
vlink="#551A8B" alink="#FF0000">
<br>
<h1>Ja tak - jeg vil gerne bestille:</h1>



<table border="1" cellpadding="5" width="100%">
<tr>
        <td width="14%"><strong>Antal</strong> </td>
        <td width="45%"><p align="center"><strong>Vare</strong></p>
        </td>
        <td width="20%"><p align="center"><strong>Pris</strong></p>
        </td>
        <td width="20%"><p align="center"><strong>I alt</strong></p>
        </td>
    </tr>
<script type="text/javascript">
{
var ff, sa, mm, so, aff, asa, amm, aso, tot
ff=50;
sa=50;
so=30;
mm=100;
tot=27;
}
</script>
<form id="minForm" name="minForm" action="mailto:minmail@mitnet.dk" method="post" onsubmit="alert('Sagen er sendt');return false">
<tr>
<td>
<input id="Antal5" name="Antal5" type="text" value="0" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" onKeyPress="if(event.keyCode==13)return false;" size="3">
</td>
<td><a href="indmeld.htm">Æbler</a>
</td>
<td align="right">
<input id="Pris5" name="Pris5" type="text" value="100,00" size="6" disabled style="text-align:right;">&nbsp;
</td><td align="right">
<input id="Sum5" name="Sum5" type="text" value="" disabled size="10" style="text-align:right;">&nbsp;
</td></tr>
<tr>
<td>
<input id="Antal1" name="Antal1" type="text" value="0" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"
onKeyPress="if(event.keyCode==13)return false;" size="3">
</td>
<td><a href="beskriv.htm#sss">Svampe</a>
</td>

<td align="right">
<input id="Pris1" name="Pris1" type="text" value="50,00" size="6" disabled style="text-align:right;">&nbsp;
</td><td align="right">
<input id="Sum1" name="Sum1" type="text" value="" disabled size="10" style="text-align:right;">&nbsp;
</td></tr>

<tr><td>
<input id="Antal2" name="Antal2" type="text" value="0" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"
onKeyPress="if(event.keyCode==13)return false;" size="3">
</td>
<td>
<a href="beskriv.htm#ff">Ferskner</a>
</td>
<td align="right">
<input id="Pris2" name="Pris2" type="text" value="50,00" size="6" disabled style="text-align:right;">&nbsp;
</td><td align="right">
<input id="Sum2" name="Sum2" type="text" value="" disabled size="10" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td>
        <input id="Antal3" name="Antal3" type="text" value="0" onchange="beregn(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"
onKeyPress="if(event.keyCode==13)return false;" size="3">
</td>
<td><a href="beskriv.htm#SO">Saftige Oranges</a></td>
<td align="right">
<input id="Pris3" name="Pris3" type="text" value="30,00" size="6" disabled style="text-align:right;">&nbsp;</td>
    <td align="right">
        <input id="Sum3" name="Sum3" type="text" value="" disabled size="10" style="text-align:right;">&nbsp;</td>
</tr>
<tr><td>
<input id="Antal4" name="Antal4" type="text" value="1"
onfocus="beregn(this);" !onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" onKeyPress="if(event.keyCode==13)return false;" size="3">
</td>
<td>Forsendelse</td>
<td align="right">
<input id="Pris4" name="Pris4" type="text" value="20,00" disabled size="6" enabled style="text-align:right;">&nbsp;</td>
    <td align="right">
        <input id="Sum4" name="Sum4" type="text" value="" enabled size="10" style="text-align:right;">&nbsp;</td>
</tr>
<tr>
    <td colspan="3" align="left">
        Samlet pris:&nbsp;</td>
    <td align="right">
        <input id="Sum0" name="Sum0" type="text" value="" disabled size="10" style="text-align:right;">&nbsp;</td>
</tr><tr><td colspan="4">
<h3>Send det hele til:</h3></td></tr>
<tr><td>Navn:</td><td>
<input name="navn" value="" type="text" size="35" onKeyPress="if(event.keyCode==13)return false;">
</td>
<td colspan="2" rowspan="3">Bemærkninger i øvrigt<br>
<TEXTAREA NAME="bemrk" ROWS="5" COLS="50" WRAP="on" onKeyPress="if(event.keyCode==13)return false;">
</TEXTAREA></td>
</tr>
</tr>
<tr><td>Adresse</td><td>
<input name="adr1" value="" type="text" size="35" onKeyPress="if(event.keyCode==13)return false;"><br>
<input name="adr2" value="" type="text" size="35" onKeyPress="if(event.keyCode==13)return false;">
</td>

</tr>
<tr><td>
Postnr:</td><td><input name="pnr" value="" type="text" size="4" onKeyPress="if(event.keyCode==13)return false;">
&nbsp;&nbsp;
By:&nbsp;&nbsp;
<input name="adr2" value="" type="text" size="19" onKeyPress="if(event.keyCode==13)return false;">
</td></tr>
<tr>
    <td colspan="4">
        <input type="submit" value="Send bestilling" size="20"></td>
</tr>
</table>
</form>
</body>

</html>
Avatar billede roenving Novice
13. oktober 2004 - 15:39 #1
I hvert fald nester du ulovligt, så:

<form id="minForm" name="minForm" action="mailto:minmail@mitnet.dk" method="post" onsubmit="alert('Sagen er sendt');return false">

<table border="1" cellpadding="5" width="100%">
<tr>
        <td width="14%"><strong>Antal</strong> </td>
        <td width="45%"><p align="center"><strong>Vare</strong></p>
        </td>
        <td width="20%"><p align="center"><strong>Pris</strong></p>
        </td>
        <td width="20%"><p align="center"><strong>I alt</strong></p>
        </td>
    </tr>
<script type="text/javascript">
var ff=50, sa=50, mm=100, so=30, aff, asa, amm, aso, tot=27;
</script>
<tr>


-- og du kan jo også sætte readonly på:

<td>Forsendelse</td>
<td align="right">
<input id="Pris4" name="Pris4" type="text" value="20,00" disabled readonly size="6" enabled style="text-align:right;">&nbsp;</td>
Avatar billede klid Nybegynder
13. oktober 2004 - 17:21 #2
Uha uha
Hvad vil det sige at jeg "nester ulovligt"?
Avatar billede roenving Novice
13. oktober 2004 - 17:27 #3
Du placerer et form-tag inde i en tabel, og der må den kun stå inde i en celle, ikke rundt om f.eks. tr- eller td-tags, derfor skal du placere formen rundt om ...

-- en anden ulovlig nesting, du laver kan illustreres sådan:

<b>Fed, <i>fed kursiv </b>kursiv</i>

Det er forbudt at blande start- og sluttags på den måde, selvom det ofte virker, du har lavet det samme med table- og form-tags !-)

PS. ovenstående bør se således ud:

<b>Fed, <i>fed kursiv </i></b><i>kursiv</i>
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