Avatar billede nothingaqua Nybegynder
18. april 2006 - 13:05 Der er 9 kommentarer og
1 løsning

Hente input array i javascript

Hej,

<form action="beregn.php" method="Post">
<input type="text" OnChange="this.form.hund[1].value = (this.form.hest.value*1) *(this.form.hest.value*1);" name="hest"></td>
<input type="text" name="hund[1]">
</form>

Hvorfor virker det ikke, hvis jeg ændre navnet hund[1] til hund f.eks virker. det.
Desværre skal det være et array.

Hvordan modtager jeg et array fra et input felt som vist i Javascript?
Avatar billede horsmark Nybegynder
18. april 2006 - 13:16 #1
Den måde du modtager det på i filen beregn.php er

foreach( $_POST['hund'] as $key => $value ){
print $key . " er " . $value ."<br>";
}
Avatar billede nothingaqua Nybegynder
18. april 2006 - 13:17 #2
ja, det er der ikke meget forkert i.
Avatar billede horsmark Nybegynder
18. april 2006 - 13:18 #3
...måske du lige skulle forklare hvad det er du vil opnå - måske er der andre muligheder der er mere simple end med arrays i inputfelter (ikke at det ikke kan lade sig gøre for det kan det sagtens det kræver blot lidt mere indviklet kode)
Avatar billede nothingaqua Nybegynder
18. april 2006 - 13:22 #4
Det er bare et forenklet eksempel fordi jeg troed eat jeg behandlede mit input array på en forkert måde.

Jeg har N rækker input felter :
antal - kurs - pris.pr.stk - total rk pris
antal - kurs - pris.pr.stk - total rk pris
antal - kurs - pris.pr.stk - total rk pris
...
antal - kurs - pris.pr.stk - total rk pris
totalpris


jeg vil gerne have det sådan her
total rk pris = (antal * kurs * pris.pr.stk )
totalpris=alle total rk pris lagt sammen,
Avatar billede horsmark Nybegynder
18. april 2006 - 13:43 #5
Til inspiration :-)

<form>
Pris 1: <input type="text" name="vare" value="1">
Pris 2: <input type="text" name="vare" value="2">
Pris 3: <input type="text" name="vare" value="3">
Pris 4: <input type="text" name="vare" value="4">
Pris 5: <input type="text" name="vare" value="5">
<input type="button" value="beregn" onClick="calculate()">
</form>

<script type="text/javascript">


function calculate(){
    var aItems = document.getElementsByName('vare')
    var iTotalPrice = 0
  for ( var i = 0; i < aItems.length; i++ ){
      iTotalPrice = iTotalPrice + aItems[i].value
  }
  alert("Totalpris :" + iTotalPrice)
}
</script>
Avatar billede horsmark Nybegynder
18. april 2006 - 13:44 #6
hov du skal lige have tilføjet en parseInt så input ikke behandles som tekst men tal :-)
iTotalPrice = iTotalPrice + parseInt(aItems[i].value)
Avatar billede nothingaqua Nybegynder
18. april 2006 - 14:26 #7
er der overhovedet ingen mulighed for at bruger array værdier?
ex.
Pris 1: <input type="text" name="vare" value="ra[1]">
Pris 2: <input type="text" name="vare" value="ra[2]">
Pris 3: <input type="text" name="vare" value="ra[3]">
Pris 4: <input type="text" name="vare" value="ra[4]">
Pris 5: <input type="text" name="vare" value="ra[5]">
Avatar billede horsmark Nybegynder
18. april 2006 - 14:28 #8
øhh nej da det giver ingen mening... da du allerede har preudfyldt dine values via php :-) Og name="vare" er jo netop et array
Avatar billede nothingaqua Nybegynder
25. april 2006 - 09:35 #9
okay, smid et svar :)=!
Avatar billede horsmark Nybegynder
25. april 2006 - 09:54 #10
her :-)
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