Avatar billede no_doubt Nybegynder
07. oktober 2006 - 21:50 Der er 6 kommentarer og
1 løsning

omskrivning af function

Nogen der har mod på at skrive denne om så jeg ikke få punktummer, men komma'er i alle felter, samt momsfeltet og totalfeltet kun må have 2 decimaler ?

function addformdata(theform) {
  var total = 0;
  var tal;
  tal = parseFloat(theform.softwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.hardwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.netværkpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.tilbehørpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.timeogkvarterpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  theform.momspris.value = total*0.25;
  theform.total.value=total + parseFloat(theform.momspris.value);
}
Avatar billede no_doubt Nybegynder
07. oktober 2006 - 21:57 #1
så er den rettet med 2 decimaler, så er det kun punktum til komma, anyone ?

function addformdata(theform) {
  var total = 0;
  var tal;
  tal = parseFloat(theform.softwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.hardwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.netværkpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.tilbehørpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.timeogkvarterpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  theform.momspris.value = (total.toFixed(2)*0.25).toFixed(2);
  theform.total.value=parseFloat(total.toFixed(2)) + parseFloat(theform.momspris.value);
}
Avatar billede mclemens Nybegynder
07. oktober 2006 - 22:30 #2
function addformdata(theform) {
  var total = 0;
  var tal;
  tal = parseFloat(theform.softwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.hardwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.netværkpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.tilbehørpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.timeogkvarterpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  theform.momspris.value = (total.toFixed(2)*0.25).toFixed(2).replace(".",",");
  theform.total.value=(parseFloat(total.toFixed(2)) + parseFloat(theform.momspris.value.replace(",","."))).toFixed(2).replace(".",",");
}
Avatar billede mclemens Nybegynder
07. oktober 2006 - 22:36 #3
((( til andre der vil se det så relaterer løsningen til denne tråd:
http://www.eksperten.dk/spm/736930 -> den lange udgave:
http://www.eksperten.dk/spm/736930#rid6460535 sammen med
http://www.eksperten.dk/spm/736930#rid6460800

... den optimerede og forkortede udgave har det indbygget...
http://www.eksperten.dk/spm/736930#rid6462134 )))
Avatar billede no_doubt Nybegynder
08. oktober 2006 - 11:04 #4
min ser sådan ud lige nu

<script>
function addformdata(theform) {
  var total = 0;
  var tal;
  tal = parseFloat(theform.softwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.hardwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.netværkpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.tilbehørpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.timeogkvarterpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  theform.momspris.value = (total.toFixed(2)*0.25).toFixed(2);
  theform.total.value=parseFloat(total.toFixed(2)) + parseFloat(theform.momspris.value);
}

var callvals={};

function callval(e){

  var f=e.form;

  var tv=parseFloat(e.value);
  var tv2=(tmp=callvals[e.name])?tmp:0;
  callvals[e.name]=tv;

  f.timenavn.value=(f.timer.selectedIndex>0)?f.timer[f.timer.selectedIndex].firstChild.nodeValue:"0";
  f.kvarternavn.value=(f.timer0.selectedIndex>0)?f.timer0[f.timer0.selectedIndex].firstChild.nodeValue:"0";

  f.timeogkvarterpris.value=((tmp=parseFloat(f.timeogkvarterpris.value))?tmp:0)+tv-tv2;

addformdata(f);

}




</script>

Hvordan skal de se ud
Avatar billede mclemens Nybegynder
08. oktober 2006 - 12:07 #5
<font face="" size="">
<form method="post" action="test.asp">
<script>
function addformdata(theform) {
  var total = 0;
  var tal;
  tal = parseFloat(theform.softwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.hardwarepris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.netværkpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.tilbehørpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  tal = parseFloat(theform.timeogkvarterpris.value.replace(/,/g,"."));
  if (isNaN(tal)==false) {
    total += tal;
  }
  theform.momspris.value = (total.toFixed(2)*0.25).toFixed(2).replace(".",",");
  theform.total.value=(parseFloat(total.toFixed(2)) + parseFloat(theform.momspris.value.replace(",","."))).toFixed(2).replace(".",",");
}


var callvals={};

function callval(e){

  var f=e.form;

  var tv=parseFloat(e.value);

  var tv2=(tmp=callvals[e.name])?tmp:0;
  callvals[e.name]=tv;

  f.timenavn.value=(f.timer.selectedIndex>0)?f.timer[f.timer.selectedIndex].firstChild.nodeValue:"0";
  f.kvarternavn.value=(f.timer0.selectedIndex>0)?f.timer0[f.timer0.selectedIndex].firstChild.nodeValue:"0";

  f.timeogkvarterpris.value=(((tmp=parseFloat(f.timeogkvarterpris.value))?tmp:0)+tv-tv2).toFixed(2).replace(".",",");

addformdata(f);

}




</script>
<div align="center">
<table border="0" width="357" id="table1">
    <tr>
        <td width="203">
<select onchange="this.form.softwarepris.value=this.value; addformdata(this.form);this.form.softwarenavn.value=this.options[this.selectedIndex].text;" name="software" size="1">
  <option>Software</option>

  <option value="10,6">McAfee Epolicy</option>

  <option value="309">Kaspersky</option>

</select></td>
        <td width="144" align="center">
        <p align="center">
        <input name="softwarepris" size="6" onchange="addformdata(this.form);" value="0" style="float: right"><font face="" size=""><input name="softwarenavn" size="6" readonly value="0"></td>
    </tr>
    <tr>
        <td width="203">

<select onchange="this.form.hardwarepris.value=this.value; addformdata(this.form);this.form.hardwarenavn.value=this.options[this.selectedIndex].text;" name="hardware" size="1">
  <option>Hardware</option>

  <option value="999">Creative lydkort</option>

  <option value="128">Sandberg lydkort</option>


</select></td>
        <td width="144" align="center">

        <p align="center">
        <input name="hardwarepris" size="6" value="0" style="float: right"><font face="" size=""><input name="hardwarenavn" size="6" readonly value="0"></td>
    </tr>
    <tr>
        <td width="203">
<select onchange="this.form.netværkpris.value=this.value; addformdata(this.form);this.form.netværknavn.value=this.options[this.selectedIndex].text;" name="netværk" size="1">
  <option>Netværk</option>

  <option value="73">3Com kabel</option>

  <option value="448">Belkin router</option>


</select></td>
        <td width="144" align="center">
        <p align="center">
        <input name="netværkpris" size="6" value="0" style="float: right"><input name="netværknavn" size="6" readonly value="0"></td>
    </tr>
    <tr>

        <td width="203">
<select onchange="this.form.tilbehørpris.value=this.value; addformdata(this.form);this.form.tilbehørnavn.value=this.options[this.selectedIndex].text;" name="tilbehør" size="1">
  <option>Tilbehør</option>

  <option value="973">Dell batteri</option>

  <option value="260">Acer taske</option>


</select></td>

        <td width="144" align="center">
        <p align="center">
        <input name="tilbehørpris" size="6" onchange="addformdata(this.form);" value="0" style="float: right"><input name="tilbehørnavn" size="6" readonly value="0"></td>
    </tr>
    <tr>
        <td width="203">
&nbsp;</td>
        <td width="144" align="center">

        &nbsp;</td>

    </tr>
    <tr>










        <td width="203">
<select onchange="callval(this);" size="1" name="timer">
  <option value="0">Timer</option>
    <option value="110">1 time</option>
    <option value="220">2 timer</option>
</select>/<select onchange="callval(this);" size="1" name="timer0">

  <option value="0">Kvarter</option>

    <option value="27.5">1 kvarter</option>
    <option value="55">2 kvarter</option>
    <option value="72.5">3 kvarter</option>
</select></td>












        <td width="144" align="center">
        <p align="center">

        <input name="timeogkvarterpris" size="6" value="0" style="float: right"><input name="timenavn" size="6" readonly value="0"><input name="kvarternavn" size="6" readonly value="0"></td>
    </tr>
    <tr>

        <td width="203">
        &nbsp;</td>
        <td width="144" align="center">
        &nbsp;</td>
    </tr>
    <tr>

        <td width="203">
        <font face="" size="">Pris incl. moms</font></td>

        <td width="144" align="center">
        <p align="center">
        <input name="momspris" size="6" value="0" style="float: right"></td>
    </tr>
    <tr>
        <td width="203">

        &nbsp;</td>
        <td width="144" align="center">

        &nbsp;</td>
    </tr>
    <tr>
        <td width="203">
        <b>
        <font face="" size="">Ialt</font></b></td>

        <td width="144" align="center">
        <p align="center">

        <input name="total" size="6" style="float: right"></td>
    </tr>
    <tr>
        <td width="203">
        &nbsp;</td>
        <td width="144" align="center">
        <font face="" size="">

        <p align="center">

        &nbsp;</td>
    </tr>
    <tr>
        <td width="203">
<font face="" size="">
        <input type="submit" value="Videre til godkendelse" name="B3"></td>
        <td width="144" align="center">
        &nbsp;</td>

    </tr>

</table>
</div>
</form>
Avatar billede no_doubt Nybegynder
08. oktober 2006 - 14:46 #6
yes sir... Det er værdier der ser sådan ud 73,60 i databasen, kan man ikke få det til at stå i felterne, pt. laver den det om til 73.6
Avatar billede mclemens Nybegynder
08. oktober 2006 - 15:02 #7
Ikke det eksempel jeg lagde ... hvis du bruger
<option value="73,60">McAfee Epolicy</option>
... står der 73,60 i inpur feltet Hvis du skriver
73,6 står der 73,6 i feltet ...
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