Avatar billede mobildata Nybegynder
05. september 2006 - 10:34 Der er 7 kommentarer og
1 løsning

Image istedet for button

Har nogle problemer med at udskifte de 2 nedenstående knapper med billeder i stedet. jeg kan godt få den til at vise billederne men Onclick funktionen giver fejl.

Formen skal ikke submittes men værdien i "termprivat" skal
justeres op eller ned at efter om man trykker på den ene eller anden knap.

Kan man iøvrigt gøre sådan at den ikke kan gå under 0 ved tryk på knap nr. 2. uden at skulle validere tekstfelt bagefter.

kode:


<input type=text name=termprivat value=0 size="3" onchange="calc();" onKeyPress="return numbersonly(this, event)">

<input type=button value="up" accesskey="a" onClick="java script:this.form.termprivat.value++;calc();">

<input type=button value="down" onClick="java script:this.form.termprivat.value--;calc();">
Avatar billede farhang Nybegynder
05. september 2006 - 12:25 #1
Du skal skrive sådan:

<input type=text name=termprivat value=0 size="3" onchange="calc();" onKeyPress="return numbersonly(this, event)">

<input type=image" src="ditbillede1.gif" value="up" accesskey="a" onClick="java script:this.form.termprivat.value++;calc();">

<input type=image" src="ditbillede2.gif" value="down" onClick="java script:this.form.termprivat.value--;calc();">
Avatar billede hcichosz Praktikant
05. september 2006 - 12:26 #2
Sæt style på dit button-tag...

<button style="width:100;height:100"><img src="billeder/Estland/test.jpg"
border="0"></button>

I ovenstående tilfælde forudsætter jeg at test.jpg måler 100px*100px
Avatar billede olebole Juniormester
05. september 2006 - 12:35 #3
<ole>

For det første skal der altid være enheder på style-værdier - undtagen værdien 0. Desuden skal der vel sættes 'border:0' ... med mindre, man decideret ønsker knap-borders  ;o)
    <button style="width:100px;height:100px;border:0"><img src="billeder/Estland/test.jpg" border="0"></button>

/mvh
</bole>
Avatar billede olebole Juniormester
05. september 2006 - 12:39 #4
Det giver iøvrigt ikke mening at bruge JavaScript pseudo-protokollen i en event-handler ... der _kan_ ikke stå andet end JavaScript i sådan én  ;o)

Derudover kan blot lægge onclick-handleren direkte på et billede:
    <img src="pic.jpg" alt="noget" title="Dette er en knap" onclick="this.form.termprivat.value++;calc()">
Avatar billede olebole Juniormester
05. september 2006 - 12:40 #5
- men da et billede ikke er et form-element, kan man så ikke referere med 'this':
    <img src="pic.jpg" alt="noget" title="Dette er en knap" onclick="document.FORM_NAVN.termprivat.value++;calc()">
Avatar billede hcichosz Praktikant
05. september 2006 - 12:50 #6
Hej
Ja der har du jo ret:
<ole>
For det første skal der altid være enheder på style-værdier - undtagen værdien 0. Desuden skal der vel sættes 'border:0' ... med mindre, man decideret ønsker knap-borders  ;o)
Tak
Mvh/HC
Avatar billede mobildata Nybegynder
05. september 2006 - 13:07 #7
@farhang

Dit eksempel submitter desværre formlen.

@hcichosz

din løsning hjalp mig videre, læs et svar for point, tak



Er der ellers nogen løsning på de negative tal?
Avatar billede olebole Juniormester
05. september 2006 - 14:00 #8
Hvis du bruger et button-element, skal du altid returnere false i onclick-handleren. Ellers submitter FF også formen:

<button onclick="minFunktion();return false" style="width:100px;height:100px;border:0"><img src="billeder/Estland/test.jpg" border="0"></button>

- så virker farhang's eksempel også uden at submitte  ;o)

Hvad de negative tal angår, ville det nok være fiksest at behandle dem i funktionen calc. Hvis du mener ved nedtællingen kan du skrive noget à la:
    onclick="var v=this.form.termprivat.value;if(v>=1){this.form.termprivat.value--};calc()"
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