Avatar billede bigo Nybegynder
15. marts 2004 - 23:49 Der er 22 kommentarer og
2 løsninger

lægge alle tal fra input sammen i en variabel

er der ikke en smart funktion som henter alle værdier fra alle inputfelter i en form og lægger dem sammen.
Avatar billede mjense173 Nybegynder
15. marts 2004 - 23:56 #1
document.form.length //array med alle elementer i formen
Avatar billede roenving Novice
15. marts 2004 - 23:57 #2
Næh, den må du selv lave ...

<script type="text/javascript">
function adderAlt(f){
  var sum = 0,elms = f.elements;
  for(i=0;elms.length>i;i++){
    if(elms[i].type=='text'&&elms[i].value.match(/^\d+(\.\d+)?$/)
      sum+= +elms[i].value;
  }
  alert(sum);//her kan den jo lægges i et felt i formen !-)
}
</script>
Avatar billede olebole Juniormester
15. marts 2004 - 23:58 #3
<ole>

function laegSammen() {
  var aInpts = document.getElementsByTagName("INPUT");
  var res = 0;
  for ( i=0; i<aInpts.length; i++ ) {
    res += aInpts[i].value;
  }
  alert(res);
}

/mvh
</bole>
Avatar billede roenving Novice
16. marts 2004 - 00:09 #4
-- og der manglede selvfølgelig en parantes ...

<script type="text/javascript">
function adderAlt(f){
  var sum = 0,elms = f.elements;
  for(i=0;elms.length>i;i++){
    if(elms[i].type=='text'&&elms[i].value.match(/^\d+(\.\d+)?$/))
      sum+= +elms[i].value;
  }
  alert(sum);//her kan den jo lægges i et felt i formen !-)
}
</script>
Avatar billede bigo Nybegynder
16. marts 2004 - 09:21 #5
sorry jeg ikke fik sagt det i går, men exp gik i vedligehold....

den skal kun tage de input felter der har et navn : antal
alle andre skal ignoreres.
Avatar billede grunken Nybegynder
16. marts 2004 - 09:51 #6
og hvis man tager udgangspunkt i roenvings kan man

<script type="text/javascript">
function adderAlt(f){
  var sum = 0,elms = f.elements;
  for(i=0;elms.length>i;i++){
    if(elms[i].type=='text'&&elms[i].value.match(/^\d+(\.\d+)?$/) && elms[i].name=='antal')
      sum+= +elms[i].value;
  }
  alert(sum)
}
</script>
Avatar billede bigo Nybegynder
16. marts 2004 - 10:02 #7
øv.. nu havde jeg lige prøvet oleboles
roenvings kan jeg ikke få til og virke.. adderAlt(f) - hvad er f?
Avatar billede grunken Nybegynder
16. marts 2004 - 10:22 #8
f i roenvings er formen :o)

det vil sige at hvis du kører funktionen fra en knap i formen skal du:

<input type="button" value="adder" onclick="adderAlt(this.form);"> :o)


i olebole's eksempel ville du skulle:

function laegSammen() {
  var aInpts = document.getElementsByTagName("INPUT");
  var res = 0;
  for ( i=0; i<aInpts.length; i++ ) {
  if (aInpts[i].name=="antal")
    res += aInpts[i].value;
  }
  alert(res);
}
Avatar billede bigo Nybegynder
16. marts 2004 - 10:46 #9
anoying.. hvad nu hvis de hedder noget ala antal[0] og antal[1]
er det det samme hvad ang.  if (aInpts[i].name=="antal")
Avatar billede grunken Nybegynder
16. marts 2004 - 10:55 #10
så skal der evt. bare ændres lidt!

if (aInpts[i].name=="antal")

skal evt. skiftes med:

if (aInpts[i].indexOf("antal")!=-1)
Avatar billede bigo Nybegynder
16. marts 2004 - 11:05 #11
jeg prøvede med oles:


function get_values()
{
  var aInpts = document.getElementsByTagName("INPUT");
  var res = 0;
  for ( i=0; i<aInpts.length; i++ )
  {
        if (aInpts[i].indexOf("antal")!=-1)
        {
        res += aInpts[i].value;
    }
  }
  alert(res);
}

men den gør ikke noget

kaldes med:
<input type=text name=sum onblur='get_values()'>
Avatar billede grunken Nybegynder
16. marts 2004 - 12:02 #12
må jeg se hele formen ?

det kunne være det skulle gribes anderledes an!
Avatar billede bigo Nybegynder
16. marts 2004 - 13:05 #13
function get_values()
{
  var aInpts = document.getElementsByTagName("INPUT");
  var res = 0;
  for ( i=0; i<aInpts.length; i++ )
  {
        if (aInpts[i].indexOf("antal")!=-1)
        {
        res += aInpts[i].value;
    }
  }
  alert(res);
}


function calc_amount(number, p_points, a_points)
{
    x=number*p_points;
    if (x>=a_points)
    {
        alert ('Too expensive');
        return false;
    }
    else
        return true;
}

<td valign='top' align='".(($x==0) ? "left" : "right")."'>Antal <input type=text name=antal[$counter] size=3 maxlength=3 ".(($c_row[answerer_points] < $row[p_points]) ? "disabled" : "")." onblur='calc_amount(get_values(), 100, 120);'><a href=# title='Add to cart' onclick='document.forms.shopform.submit();'>Add</a></td>
Avatar billede bigo Nybegynder
16. marts 2004 - 14:51 #14
måske
if (aInpts[i].name.indexOf("antal")!=-1)

er brugbart?
Avatar billede bigo Nybegynder
16. marts 2004 - 14:54 #15
fixed:

  {
        if (aInpts[i].name.indexOf("antal")!=-1)
        {
        res += +aInpts[i].value;
    }
  }

Smid alle svar. Jeg har brugt fra jer alle ;-)
Avatar billede olebole Juniormester
16. marts 2004 - 17:16 #16
:)
Avatar billede roenving Novice
16. marts 2004 - 17:53 #17
-- og jeg undrede mig over, at ole ikke havde nogen typecasting eller konvertering, men jeg kan se, at du har fået den med nu !-)

-- så velbekomme '-)
Avatar billede olebole Juniormester
16. marts 2004 - 18:22 #18
roenving >> hvis du nu læste spørgsmålet, burde det ikke undre dig ... det er jo ikke oprettet i clairvoyance-kategorien  ;o)
Avatar billede roenving Novice
16. marts 2004 - 18:38 #19
Jeg måtte også ty til den voldsomme omvej at læse overskriften, da jeg så dit forslag !-)
Avatar billede olebole Juniormester
16. marts 2004 - 19:09 #20
Man sk' zq da osse knokle mere og mere i dette forum  :D
Avatar billede roenving Novice
16. marts 2004 - 19:20 #21
*rotflmao*
Avatar billede bigo Nybegynder
16. marts 2004 - 23:44 #22
olebole-> enig.. arbejde arbejde....

takker for jeres fede indsats og viden.. couldn´t live without it.....
Avatar billede roenving Novice
17. marts 2004 - 00:12 #23
-- og tak for points ;~}
Avatar billede olebole Juniormester
17. marts 2004 - 00:23 #24
... og en tak herfra  :)
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