Avatar billede bigo Nybegynder
21. marts 2004 - 20:24 Der er 5 kommentarer og
1 løsning

ref.: 480109

jeg har fundet ud af at scriptet skal lave en beregning på total prisen for de felter hvor der er indtastet en værdi.

dvs.

<input type=text name=antal[0]>
<input type=text name=antal[1]>
<input type=text name=antal[2]>

og

<input type=hidden name=points[0] value=100>
<input type=hidden name=points[1] value=200>
<input type=hidden name=points[1] value=150>

og hvis der er er indtastet f.eks. 2 i antal[0] og 3 i antal[2] skal der kun beregnes for antal[0]/[2] og points[0] /[2]

men som scriptet kører nu, vil det beregne for de inputfelter der er indtastet noget i (eller hvor værdien er større end null) og alle hiddenfelter (points[x])

nogen der kan hjælpe?


function get_values()
{
  var antal = points = res = 0;
  var aInpts = document.getElementsByTagName("INPUT");
 
  for ( i=0; i<aInpts.length; i++ )
  {
    if (aInpts[i].name.indexOf("antal")!=-1)
    {
        antal += +aInpts[i].value;
    }
        if (aInpts[i].name.indexOf("points")!=-1 && aInpts[i].value > 0)
        {
        points += +aInpts[i].value;
    }
    res = antal * points;
  }
 
  return res;
}
Avatar billede bigo Nybegynder
21. marts 2004 - 20:24 #1
script lagt ind er en prøve som ikke virker..
Avatar billede roenving Novice
21. marts 2004 - 20:39 #2
F.eks.

<form>
<input type="text" name="antal[0]" onchange="get_values(this.form);">
<input type="text" name="antal[1]" onchange="get_values(this.form);">
<input type="text" name="antal[2]" onchange="get_values(this.form);">

og

<input type="hidden" name="points[0]" value="100">
<input type="hidden" name="points[1]" value="200">
<input type="hidden" name="points[2]" value="150">
</form>

<script type="text/javascript">
function get_values(f){
  var antal = points = res = 0;
  var aInpts = f.getElementsByTagName("INPUT");
 
  for(i=0;aInpts.length>i;i++){
    if (aInpts[i].name.indexOf("antal")==0&&+aInpts[i].value>0){
      res += (+aInpts[i].value)*(+f.elements['points'+aInpts[i].name.substring(5)].value);
    }
  }
  alert(res);
//  return res;
}
</script>
Avatar billede bigo Nybegynder
21. marts 2004 - 20:45 #3
Lige precis..

hvad det er lækkert. jeg kunne ikke lige greje hvordan man skulle lave den ifsætning der.. Svar og der er points på vej
Avatar billede roenving Novice
21. marts 2004 - 20:48 #4
Men bemærk også, at jeg har hardcoded længden på den tekst, som skal springes over, når jeg skal sammenligne, så hvis du ændrer teksten på 'antal' skal 5-tallet sikkert også ændres !-)

-- og velbekomme
Avatar billede bigo Nybegynder
21. marts 2004 - 20:52 #5
Men det vil jeg ikke ;-)

Tak for hjælpen.. det var sg stort..
Avatar billede roenving Novice
21. marts 2004 - 20:56 #6
-- og tak for points ;~}
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