Avatar billede sonic666 Novice
11. november 2003 - 10:02 Der er 4 kommentarer og
1 løsning

Sum af autoudfyldte formular-felter

Min hjemmeside indeholer en formular med 2 lister med vare. Når man foretager sit valg i en liste bliver to dertil hørende tekstbokse automatisk udfyldt med det varenummer pris der høre til varen.
koden til dette kan ses nedenfor.
Nu er mit problem at der nedders på siden skal være en total af de priser der automatisk blev udfyldt.

Hvordan gør jeg det??? Håber nogen kan hjælpe

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Automatisk udfyld tekstfelter i formular</title>
<script language="JavaScript" type="text/javascript">
function writeNumbers(sel,frm){
    frm.hvad.value=sel.text;   
    sel=sel.value.split("/");
    frm.pris.value=sel[0];   
    frm.nr.value=sel[1];   
    return;
    }
</script>
</head>
<body>
<form name="form1" method="post" action="">
  Liste<select name="liste" onChange="writeNumbers(this.options[this.selectedIndex],this.form);">
    <option value="/" selected></option>
    <option value="50,25/b-264">rensev&aelig;ske</option>
    <option value="218/w33-9">anden v&aelig;ske</option>
  </select>
  <br>
  Vare<input type="text" name="hvad">
  <br>
  Pris:<input type="text" name="pris">
  <br>
  Varenr.<input type="text" name="nr">
</form>
</body>
</html>
Avatar billede mm12010 Nybegynder
11. november 2003 - 11:04 #1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Automatisk udfyld tekstfelter i formular</title>
<script language="JavaScript" type="text/javascript">
function kommaTal(tal1,tal2){
    tal1=parseFloat(tal1.replace(/\,/gi,"."));
    tal2=parseFloat(tal2.replace(/\,/gi,"."));
    tal1=(isNaN(tal1))?0:tal1;
    tal2=(isNaN(tal2))?0:tal2;
    tal=String(tal1+tal2);
    tal=((tal.indexOf(".")==-1)?tal+",00":tal);
    tal=((tal.indexOf(".")==tal.length-2)?tal+"0":tal);
    tal=tal.replace(/\./gi,",");
    return (tal);
    }
function writeNumbers(sel,frm,nm){
    frm.hvad.value=sel.text;   
    sel=sel.value.split("/");
    if(nm.indexOf("2")!=-1){
        frm.pris.value=sel[0];   
        frm.nr.value=sel[1];
        }
    else{
        frm.pris2.value=sel[0];   
        frm.nr2.value=sel[1];
        }
    frm.sum.value=kommaTal(frm.pris.value,frm.pris2.value);
    return;
    }
</script>
</head>
<body>
<form name="form1" method="post" action="">
  Liste<select name="liste" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name);">
    <option value="/" selected></option>
    <option value="50,25/b-264">rensev&aelig;ske</option>
    <option value="218/w33-9">anden v&aelig;ske</option>
  </select>
  <br>
  Vare<input type="text" name="hvad">
  <br>
  Pris:<input type="text" name="pris">
  <br>
  Varenr.<input type="text" name="nr">
  <br>
  Liste
  <select name="liste2" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name);">
    <option value="/" selected></option>
    <option value="50,25/b-264">rensev&aelig;ske</option>
    <option value="218/w33-9">anden v&aelig;ske</option>
  </select>
  <br>
  Vare<input type="text" name="hvad2">
  <br>
  Pris:<input type="text" name="pris2">
  <br>
  Varenr.<input type="text" name="nr2">
  <br>
  <br>
  Sum:<input type="text" name="sum">
</form>
</body>
</html>
Avatar billede sonic666 Novice
11. november 2003 - 11:59 #2
Den er der næsten. ;-)
Det eneste er at liste1 udfylder tekstfelterne til liste2 og omvendt. Hvor retter jeg det?
Hvad skal der til for at udvide formularen fra 2 lister til 3 eller 4??
Avatar billede mm12010 Nybegynder
11. november 2003 - 12:03 #3
if(nm.indexOf("2")==-1){
Avatar billede sonic666 Novice
11. november 2003 - 12:23 #4
ok ! Tak
Avatar billede mm12010 Nybegynder
11. november 2003 - 12:30 #5
selv tak :o)
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