/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Javascripts fungere kun fuldt ud i Konquer~
Fra : Claus Hjort Kristian~


Dato : 14-11-05 21:38

Hej alle...

Jeg har lavet en lille opskriftsside, hvor der på de sider hvor man tilføjer
opskrifter er et par javascripts til at hjælpe brugeren (og mig)...

Fx. i "Trin 1" kan man vælge hvornår på året opskriften er aktuel (hele
året, vinter, forår...) og det er så meningen at js selv markere de måneder
(checkbox'e), problemet er bare at den kun markere den første box's og ikke
dem alle...
Det samme problem er i feltet hvor man angiver hvor opskriften stammer fra,
der er en mulighed for at markere for "Ukendt ophav", her skulle js så
skrive "Ukendt" i alle felterne, men også her er det kun det første felt
der bliver ændret til Ukendt og bliver disabled...

Dette gæller for alle de browsere jeg har testet det med (IE, Firefox,
Opera), med undtagelse af Konqueror, og da Konqueror er min fortukne
browser har jeg først opdaget at det ikke virker ordenligt i de andre
browsere...

Kan I ikke prøve at kigge lidt på min kode og forhåbenlig fortælle mig hvad
jeg gør galt?
Eksempel:
http://www.the-book.dk/home.php?d=Default&p=test1
(javascriptet starter på linje 136)
(checkbox'ne der starter scriptene starter på linje 483)

Og ja, koden er ikke særlig pæn, den er skrevet i hånden...

På forhånd tak

Med venlig hilsen

Claus

 
 
Ryan Kristensen (15-11-2005)
Kommentar
Fra : Ryan Kristensen


Dato : 15-11-05 01:36

On Mon, 14 Nov 2005 21:37:33 +0100, Claus Hjort Kristiansen
<usenet@the-book.dk> wrote:

> Det samme problem er i feltet hvor man angiver hvor opskriften stammer
> fra,
> der er en mulighed for at markere for "Ukendt ophav", her skulle js så
> skrive "Ukendt" i alle felterne, men også her er det kun det første felt
> der bliver ændret til Ukendt og bliver disabled...
>
> Dette gæller for alle de browsere jeg har testet det med (IE, Firefox,
> Opera), med undtagelse af Konqueror, og da Konqueror er min fortukne
> browser har jeg først opdaget at det ikke virker ordenligt i de andre
> browsere...

Godtager Konquerer virkelig den?
Måden du tilgår et form-element er:
document.forms['formnavn'].element['elementnavn']

Så det vil sige, når du nu skriver:
   checkSp.checked = false;
Så ved browseren ikke hvad checkSp er.
Hvis du i stedet skriver:
document.forms['form'].element['checkSp'].checked = false;
så bør det virke.

--
Ryan Kristensen

Kasper Johansen (16-11-2005)
Kommentar
Fra : Kasper Johansen


Dato : 16-11-05 13:09

Ryan Kristensen wrote:
> On Mon, 14 Nov 2005 21:37:33 +0100, Claus Hjort Kristiansen
> <usenet@the-book.dk> wrote:
> Måden du tilgår et form-element er:
> document.forms['formnavn'].element['elementnavn']

Er der ikke noget med at forms-metoden er på vej ud?

Man skal vidst (hvis det er helt rigtigt) bruge:
document.getElementById("mitlemenet").value


Du skal derfor på dit element yderligere angive:
<input type="text" id="mitelement">


Bare lige en lille kommentar ;) Den der burde vidst virke på alle
browsere (stort set).


--
Med venlig hilsen
Kasper Johansen

Jens Gyldenkærne Cla~ (16-11-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-11-05 13:45

Kasper Johansen skrev:

> Er der ikke noget med at forms-metoden er på vej ud?

Nej - ikke mig bekendt. Name-attributten på form-elementet er ikke
tilladt i strict, men document.forms[NAVN] kan også henvise til en
id-værdi.

I øvrigt er document.forms ikke en metode (det er en egenskab).

> Man skal vidst (hvis det er helt rigtigt) bruge:
> document.getElementById("mitlemenet").value

Den kan også bruges, men det vil kun virke i nyere browsere. Det er
dog muligt at ældre browsere også vil have problemer med at
referere til forms uden name med document.forms[NAVN].

Man kan evt. bruge indeksnummer til forms-samlingen:
document.forms[0] - for den første form på siden - men det er nok
kun ganske få (og meget gamle) browsere der ikke forstår en
almindelig document.forms[NAVN].
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Hintzmann (16-11-2005)
Kommentar
Fra : Martin Hintzmann


Dato : 16-11-05 23:30

Jens Gyldenkærne Clausen wrote:
>
> I øvrigt er document.forms ikke en metode (det er en egenskab).
>

Blot til info

.... document.forms er en collection af objecter. Collections opfører sig
lidt ligesom arrays, med den forskel at det er read-only. Du kan altså
fint loop dem igennem som et array, men du kan ikke tilføje og fjerne items.


--
Martin Hintzmann
http://www.hintzmann.dk/

Claus Hjort Kristian~ (16-11-2005)
Kommentar
Fra : Claus Hjort Kristian~


Dato : 16-11-05 15:12

Ryan Kristensen wrote:

> On Mon, 14 Nov 2005 21:37:33 +0100, Claus Hjort Kristiansen
> <usenet@the-book.dk> wrote:
>
>> Det samme problem er i feltet hvor man angiver hvor opskriften stammer
>> fra,
>> der er en mulighed for at markere for "Ukendt ophav", her skulle js så
>> skrive "Ukendt" i alle felterne, men også her er det kun det første felt
>> der bliver ændret til Ukendt og bliver disabled...
>>
>> Dette gæller for alle de browsere jeg har testet det med (IE, Firefox,
>> Opera), med undtagelse af Konqueror, og da Konqueror er min fortukne
>> browser har jeg først opdaget at det ikke virker ordenligt i de andre
>> browsere...
>
> Godtager Konquerer virkelig den?
> Måden du tilgår et form-element er:
> document.forms['formnavn'].element['elementnavn']
>
> Så det vil sige, når du nu skriver:
> checkSp.checked = false;
> SÃ¥ ved browseren ikke hvad checkSp er.
> Hvis du i stedet skriver:
> document.forms['form'].element['checkSp'].checked = false;
> så bør det virke.
>
Jeg prøvede:
document.forms['form'].element['checkSp'].checked = false;
Men det virkede ikke, så jeg kiggede lidt på noget af den anden kode og
prøvede:
document.form.checkSp.checked = false;
Og det virker, så tusind tak for hjælpen!

--
Claus

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408514
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste