Avatar billede Slettet bruger
03. juli 2003 - 20:30 Der er 10 kommentarer og
1 løsning

En script der kan udregne et tal fra to input felter.

Hejsa

Jeg skal bruge et script der kan duregne hvad input felterne med navnene "pris1" * "antal1" giver.

Der er så også et andet sted den skal udregen "pris2" * "antal2" men det er vel bare at kpoiere teksten.
Avatar billede tuctoh Nybegynder
03. juli 2003 - 20:33 #1
<script language='javascript'>
function udregn1(){
document.minform.samlet1.value = document.minform.pris1.value*document.minform.pris2.value
}
</script>

<form name='minform'>
Pris 1: <input type='text' name='pris1'><br>
Pris 2: <input type='text' name='pris2'><br><br><br>
Resultat:
<input type='text' name='samlet1'>
<br>
<input type='button' value='Udregn' onClick='udregn1()'>
Avatar billede Slettet bruger
03. juli 2003 - 20:39 #2
Den skal udregen der uden man trykker på en knap, den skal gøre det hvert sekund eller hver gang man skriver noget i feltet.
Avatar billede roenving Novice
03. juli 2003 - 20:44 #3
>>tuctoh

-- du over så vist noget, men du har en hel del af den:

<script language='javascript'>
function udregn(n){
var p=eval('document.minform.pris'+n);
var a=eval('document.minform.antal'+n);
var i=eval('document.minform.ialt'+n);
i.value=p.value*a.value;
}
</script>

<form name='minform'>
Pris 1: <input type='text' name='pris1'>&nbsp;Anta1: <input type='text' name='antal1' onblur="udregn(1)">&nbsp;Ialt: <input type='text' name='ialt1'><br>
Pris 2: <input type='text' name='pris2'>&nbsp;Anta1: <input type='text' name='antal2' onblur="udregn(2)">&nbsp;Ialt: <input type='text' name='ialt2'><br><br><br>
Resultat:
<input type='text' name='samlet1'>
<br>
<input type='button' value='Udregn' onClick='udregn(1);udregn(2);this.form.samlet.value=this.form.ialt1.value+this.form.ialt2.value;'>
</form>
Avatar billede tuctoh Nybegynder
03. juli 2003 - 20:44 #4
<script language='javascript'>
function udregn1(){
document.minform.samlet1.value = document.minform.pris1.value*document.minform.pris2.value
}
</script>


<FORM name=minform>Pris 1: <INPUT onkeydown=udregn1() name=pris1><BR>Pris 2: <INPUT onkeydown=udregn1() name=pris2><BR><BR><BR>Resultat: <INPUT name=samlet1></FORM>
Avatar billede tuctoh Nybegynder
03. juli 2003 - 20:45 #5
ok, prøver igen :p


<script language='javascript'>
function udregn1(){
document.minform.samlet1.value = document.minform.pris1.value*document.minform.pris2.value
}
</script>


<FORM name='minform'>Pris 1: <INPUT type='text' onkeydown='udregn1()' name='pris1'><BR>Pris 2: <INPUT type='text' onkeydown='udregn1()' name='pris2'><BR><BR><BR>Resultat: <INPUT type='text' name='samlet1'></FORM>
Avatar billede roenving Novice
03. juli 2003 - 20:46 #6
Hov lidt småfejl:

Det sidste:

<input type='text' name='samlet'>
<br>
<input type='button' value='Udregn' onClick='udregn(1);udregn(2);this.form.samlet.value=parseInt(this.form.ialt1.value)+parseInt(this.form.ialt2.value);'>
</form>
Avatar billede roenving Novice
03. juli 2003 - 20:48 #7
og der skal selvfølgelig bruges parseFloat og ikke parseInt:

parseFloat(this.form.ialt1.value)+parseFloat(this.form.ialt2.value)
Avatar billede Slettet bruger
03. juli 2003 - 21:19 #8
Hvordan gør jeg så jeg kan bruge , (komma) i min fleter ???

Ved man kan bruge . men det skal være ,
Avatar billede roenving Novice
03. juli 2003 - 21:34 #9
Noget fra http://www.eksperten.dk/spm/363846, som er lavet til noget andet, men det kan du vel bruge:

function makeNumber(tal){
tal = ""+tal;
  if (tal.indexOf(",")>-1){
    komma = tal.indexOf(",");
    return tal.substring(0,komma)+"."+tal.substring(komma+1);
  }
}

-- og der var også en afrunder:

function afrund(tal){
  tal = ""+(Math.round(tal*100))/100;
  punktum = tal.indexOf(".");
  if (punktum==-1)return tal+".00";
  if (tal.length-punktum==3)return tal;
  else return tal+"0";
}

hth
jes
Avatar billede Slettet bruger
04. juli 2003 - 00:05 #10
roenving: Tak, men er slet ikke inde i jave script så kunne du ikke vise hvordan jeg kan bruge de to funktioner ?

Du skal nok får point for det :)
Avatar billede roenving Novice
04. juli 2003 - 00:34 #11
En fuldt fungerende udgave, som dog ikke kan tage højde for forskelle som kommer frem ved afrunding, men du kan jo prøve at stress-teste den *ggg*

<HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
function makeNumber(tal){
tal = ""+tal;
  if (tal.indexOf(",")>-1){
    komma = tal.indexOf(",");
    return parseFloat(tal.substring(0,komma)+"."+tal.substring(komma+1));
  }else return parseFloat(tal)
}
function afrund(tal){
  tal = ""+(Math.round(tal*100))/100;
  punktum = tal.indexOf(".");
  if (punktum==-1)return tal+".00";
  if (tal.length-punktum==3)return tal;
  else return tal+"0";
}
function udregn(n){
var p=eval('document.minform.pris'+n);
var a=eval('document.minform.antal'+n);
var i=eval('document.minform.ialt'+n);
i.value=afrund(makeNumber(p.value)*makeNumber(a.value));
}
</SCRIPT>
</HEAD>
<BODY>
<form name='minform'>
Pris 1: <input type='text' name='pris1'>&nbsp;Anta1: <input type='text' name='antal1' onblur="udregn(1)">&nbsp;Ialt: <input disabled type='text' name='ialt1' style="background-color:red"><br>
Pris 2: <input type='text' name='pris2'>&nbsp;Anta1: <input type='text' name='antal2' onblur="udregn(2)">&nbsp;Ialt: <input disabled type='text' name='ialt2' style="background-color:red"><br><br><br>
Resultat:
<input disabled type='text' name='samlet' style="background-color:red">
<br>
<input type='button' value='Udregn' onClick='udregn(1);udregn(2);this.form.samlet.value=afrund(parseFloat(this.form.ialt1.value)+parseFloat(this.form.ialt2.value));'>
</form>
</BODY>
</HTML>

mvh
jes
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