Avatar billede storkie Nybegynder
01. september 2005 - 21:03 Der er 31 kommentarer og
1 løsning

Fejl i gange stykke

Jeg har følgende kode:

onclick="document.getElementById('indhold').value = document.getElementById('indhold').value + '[img align=' + document.getElementById('jus').value + ' width=' + document.getElementById('bred').value + ' height=' + if(document.getElementById('hoec').disabled = 'true'){ (1.088)*(document.getElementById('bred').value) || document.getElementById('hoe').value } + ']10[/img]';"


Den melder desværre fejl. Fejlen begyndte efter jeg satte if-sætningen op, men jeg har ikke kunne finde fejlen. Nogen, som kan sige mig, hvor fejlen er?
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:11 #1
1) Hvad er det lige, at du vil med?:

if(document.getElementById('hoec').disabled = 'true'){ (1.088)*(document.getElementById('bred').value) || document.getElementById('hoe').value }

Man kan ikke bare indsætte en if-sætning på den måde, men man kan gøre sådan her:

(noget==andet)?krav-opfyldt:krak-ikke-opfyldt

2) Jeg kan se, at du både bruger "hoec" og "hoe".. er det korrekt?

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:12 #2
hoec og hoe er korrek... jeg afprøver det andet, så vender jeg lige tilbage omlidt
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:14 #3
Så går jeg ud fra, sætningen er:

hvis "hoec" er disabled
  gang "bred" med 1.088
ellers
  vis "goe"

Er det korrekt?

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:15 #4
+ if(document.getElementById('hoec').disabled = 'true')?((1.088)*(document.getElementById('bred').value)):( document.getElementById('hoe').value ) +
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:15 #5
rettelse (skrev "goe" i stedet for "hoe"):

hvis "hoec" er disabled
  gang "bred" med 1.088
ellers
  vis "goe"

Korrekt?

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:17 #6
hvis "hoec" er disabled
  gang "bred" med 1.088
ellers
  vis "hoe"

Korrekt?
Det er fuldstændig korrekt. Hvordan skal det se ud?
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:17 #7
Så kan du vist gøre sådan her:

... + (document.getElementById('hoec').disabled == true)?1.088*parseInt(document.getElementById('bred').value):document.getElementById('hoe').value + ...

"..." betyder "koden før/efter denne kode"

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:20 #8
Den melder fejl....
Kan det have noget at gøre med 1.088?
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:22 #9
Jeg glemte vist et par parenteser, der skulle omkrandse sætningen:

... + ( (document.getElementById('hoec').disabled == true)?1.088*parseInt(document.getElementById('bred').value):document.getElementById('hoe').value ) + ...

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:27 #10
Simpelt eksempel, der skulle resultere i "a5.44c":

var b5 = "5";
alert("a" + ((b5 == "5")?1.088*parseInt(b5):"b") + "c");

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:27 #11
Den melder stadig fejl...
Det kan vel lade sig gøre?
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:30 #12
Ja, det kan godt lade sig gøre.. som du ser i eksemplet:

var b5 = "5";
alert("a" + ( (b5 == "5")?1.088*parseInt(b5):"b" ) + "c");

... + ( (noget==andet)?krav-opfyldt:krav-ikke-opfyldt ) + ...

Erstat: noget==andet
med: document.getElementById('hoec').disabled == true

erstat: krav-opfyldt
med: 1.088*parseInt(document.getElementById('bred').value)

erstat: krav-ikke-opfyldt
med: document.getElementById('hoe').value

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:32 #13
Hele koden:

onclick="document.getElementById('indhold').value = document.getElementById('indhold').value + '[img align=' + document.getElementById('jus').value + ' width=' + document.getElementById('bred').value + ' height=' + ( (document.getElementById('hoec').disabled == true)?1.088*parseInt(document.getElementById('bred').value):document.getElementById('hoe').value ) + ']10[/img]';"

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:37 #14
Har taget koden ovenfor, men den melder fejl idet jeg trykker.
Ville det være lettere, hvis det blev lavet i en funktion?
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:38 #15
Har du det link, til siden?

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:41 #16
har jeg da....

http://poud.storkie.dk

Bruger og password er test.
Du går ind under sider og trykker på R udfor Forsider.
Du kan så se en masse billeder, når du trykker på billedet skulle den indsætte det i det store felt.

Vær venlig at ødelægge det hele!
Avatar billede storkie Nybegynder
01. september 2005 - 21:42 #17
*********Vær venlig IKKE at ødelægge det hele!**************
Avatar billede storkie Nybegynder
01. september 2005 - 21:42 #18
Avatar billede thesurfer Nybegynder
01. september 2005 - 21:52 #19
Du kan bare ændre passwordet til "test"-kontoen igen.. altså til noget andet, så man ikke kan rode med det..

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 21:55 #20
jo
Avatar billede storkie Nybegynder
01. september 2005 - 21:57 #21
Fandt du ud af noget?
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:01 #22
Kigger lige på det..

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:06 #23
Det er fordi du bruger name="..." i stedet for id="..."
Du skal tilføje id="..." for at kunne bruge getElementById('...')

Altså:
name="bred" id="bread"
osv..

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:07 #24
Typisk..

Det skal være: name="bred" id="bred"

Der er ikke "a" i bred.. :-)

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:12 #25
..og det skal være "hoe" og ikke "hoec":

(document.getElementById('hoe').disabled == true)

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 22:14 #26
Så virkede det efter lidt justeringer:
Her er den færdige kode, hvis det skulle have interresse:
onclick=\"document.getElementById('indhold').value = document.getElementById('indhold').value + '[img align=' + document.getElementById('jus').value + ' width=' + document.getElementById('bred').value + ' height=' + ( (document.getElementById('hoec').checked == true)?1.088*parseInt(document.getElementById('bred').value):document.getElementById('hoe').value ) + ']10[/img]';\"

Lige en ting mere. Er det en funktion, som kan lave:
1.088*parseInt(document.getElementById('bred').value)
til et helt tal?
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:19 #27
Så skal den bare hedde:

parseInt(1.088*parseInt(document.getElementById('bred').value))

parseInt returnere et helt tal..

/theSurfer
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:20 #28
- Svar :-)

/theSurfer
Avatar billede storkie Nybegynder
01. september 2005 - 22:21 #29
Ok.
Tusind mange tak, fordi du gad at bruge tid på at hjælpe mig.
Ville gerne give dig flere point end udlovet, men smid et svar, så skal du få de 60 point!
Avatar billede storkie Nybegynder
01. september 2005 - 22:21 #30
Du var lige en tand hurtigere :D
Avatar billede thesurfer Nybegynder
01. september 2005 - 22:23 #31
Hehe.. Det var så lidt :-)
Takker for points, og god aften :-)

/theSurfer
Avatar billede roenving Novice
01. september 2005 - 23:57 #32
-- iøvrigt kan du altid afsætte flere point, men kun i et åbent spørgsmål !-)

Oppe til venstre under funktioner er der i den slags spørgsmål et menupunkt under Funktioner, som hedder 'Afsæt folere point' !o]
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