Avatar billede allanhansendk Nybegynder
19. august 2008 - 11:13 Der er 14 kommentarer og
1 løsning

Funktion der ligger 1 til ved onclick

Jeg har brug for en simpel funktion der ligger 1 til en variable ved onclick, og gemmer værdien i en variable så den kan sendes videre eller vises på siden.

Er der nogen der kan hjælpe med dette?
Avatar billede softspot Forsker
19. august 2008 - 11:17 #1
<input type="button" value="Læg én til" onclick="myCounter++">
Avatar billede w13 Novice
19. august 2008 - 11:17 #2
F.eks.:

<script type="text/javascript">
var iNumber=0;
</script>

<div onclick="iNumber++">Læg én til</div>

<div onclick="alert(iNumber)">Vis iNumber</div>
Avatar billede allanhansendk Nybegynder
19. august 2008 - 11:38 #3
Hvis vi nu prøver ud fra dette så:

I <head></head har vi:

<script language="javascript">
  function adder(){
    var iInt = 0;
    iInt++;
           
    document.upday.inp.value=iInt;
  }
</script>

Og i <body></body> har vi:

<form name="upday">
  <input type="button" name="btn" onclick="adder();" />
  <input type="text" value="" name="inp" />
</form>
Avatar billede w13 Novice
19. august 2008 - 11:41 #4
Din var iInt=0; skal rykkes uden for funktionen. Ellers sættes den til nul, hver gang du lægger en til.

<script type="text/javascript">
  var iInt = 0;
  function adder(){
    iInt++;
           
    document.upday.inp.value=iInt;
  }
</script>

Har også rettet language="javascript" til type="text/javascript", da language-attributten er forældet.
Avatar billede softspot Forsker
19. august 2008 - 11:42 #5
OK, hvad er det så lide du mangler...?
Avatar billede softspot Forsker
19. august 2008 - 11:44 #6
Aah ja, global kontra lokal variabel... :-)

Alternativ:

<form name="upday">
  <input type="button" name="btn" onclick="this.form.inp.value = parseInt(this.form.inp.value)++" />
  <input type="text" value="0" name="inp" />
</form>
Avatar billede allanhansendk Nybegynder
19. august 2008 - 11:47 #7
Den skulle meget gerne sendes til variablen i funktionen adder().
Avatar billede w13 Novice
19. august 2008 - 11:47 #8
Det bliver det gjort med linjen:

iInt++;
Avatar billede w13 Novice
19. august 2008 - 11:47 #9
Den kode jeg har givet dig, gør præcis det, du ønsker.
Avatar billede allanhansendk Nybegynder
19. august 2008 - 11:51 #10
softspot: Se dette som et eksempel, jeg har brug for forståelse for hvordan jeg opdaterer iInt's værdi ved hver onclick, og sender den videre, i dette tilfælde tekstfeltet inp.

w13; Alletiders, det burde jeg have set, hvis den står inde i funktionen sætter den jo iInt til 0 hver gang der bliver klikket. Så er det på plads.
Avatar billede softspot Forsker
19. august 2008 - 11:51 #11
<form name="upday">
  <input type="button" name="btn" onclick="iInt++; this.form.inp.value = iInt" />
  <input type="text" value="0" name="inp" />
</form>
Avatar billede softspot Forsker
19. august 2008 - 11:52 #12
Nu har du da nogle forskellige måder at gøre det på ;-)
Avatar billede allanhansendk Nybegynder
19. august 2008 - 11:53 #13
Ja. Mange tak for hjælpen begge to.
Avatar billede w13 Novice
19. august 2008 - 11:57 #14
Tak for point! :)
Avatar billede olebole Juniormester
24. august 2008 - 16:52 #15
<ole>

- men brug HTML i stedet, da koden ikke kan bruges under XHTML. Bevares, koden virker i dagens browsere (som tolker koden som værende HTML) - men den giver ikke mening under XHTML  ;o)

/mvh
</bole>
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