/ 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
Disable form elementer.
Fra : Lars


Dato : 03-08-04 14:17

Hej alle.
Har et lille problem med at enable/disable form elementer.
Problemet består ikke i at kunne, bruger
document.form.checkbox.disable=true/false men
jeg ønsker at checkbox skal være en variabel.
Jeg har en masse forskellige checkboxe lavet dynamisk i ASP.
Mit reelle problem er at jeg kalder en funktion med navnet på den den
checkbox som
jeg ønsker disabled , men kan ikke finde ud af at udlæse denne variabel i
funktionen
og sætte den ind i stedet for checkbox i document.form.checkbox.disable.

eks.
funktion disable_knap(navn_paa_knap)
document.form.( indholdet af variablen navn_paa_knap ) .disable=true

Håber ikke det blev for kryptisk..?

MVH
Lars



 
 
Jens Gyldenkærne Cla~ (03-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-08-04 15:47

Lars skrev:

> funktion disable_knap(navn_paa_knap)
> document.form.( indholdet af variablen navn_paa_knap )
> .disable=true

Prøv at bruge getElementById i stedet:

function disable_knap(id_paa_knap){
   var myKnap = document.getElementById(id_paa_knap);
       
   myKnap.disabled = true;
}

Funktionen kan evt. forbedres med et tjek på om myKnap har fundet
et element samt en løsning til gamle browsere der ikke forstår
getElementByID.
--
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

Lars (04-08-2004)
Kommentar
Fra : Lars


Dato : 04-08-04 12:37

Tak Jens.
Tak for hjælpen, du fik næsten løst mit problem.
Jeg har nemlig flere knapper med samme navn, hvordan kan
jeg vælge at det er alle eller evt en bestemt som skal disables?

Mvh
Lars



"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns953AAACC2557Bjcdmfdk@gyrosmod.cybercity.dk...
> Lars skrev:
>
> > funktion disable_knap(navn_paa_knap)
> > document.form.( indholdet af variablen navn_paa_knap )
> > .disable=true
>
> Prøv at bruge getElementById i stedet:
>
> function disable_knap(id_paa_knap){
> var myKnap = document.getElementById(id_paa_knap);
>
> myKnap.disabled = true;
> }
>
> Funktionen kan evt. forbedres med et tjek på om myKnap har fundet
> et element samt en løsning til gamle browsere der ikke forstår
> getElementByID.
> --
> 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



Jens Gyldenkærne Cla~ (04-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-08-04 12:59

Lars skrev:

> Tak for hjælpen, du fik næsten løst mit problem.
> Jeg har nemlig flere knapper med samme navn, hvordan kan
> jeg vælge at det er alle eller evt en bestemt som skal
> disables?

Du kan sagtens have flere formelementer med samme navn - men de
skal have hver deres id. Og dermed vil getElementById altid kun
referere til et enkelt element.

Her er et eksempel:

<input type="checkbox" name="farve" id="farveRoed" value="roed" />
<input type="checkbox" name="farve" id="farveBlaa" value="blaa" />
<input type="checkbox" name="farve" id="farveGroen" value="groen"
/>


NB: Læs gerne min signatur.
--
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

Lars (04-08-2004)
Kommentar
Fra : Lars


Dato : 04-08-04 15:50

Hej.
Det kan godt være jeg ikke fatter en bjælde men skal det
forstås sådan, at hvis man ikke har id på sin checkbox,
så vil den bare disable den første checkbox hvor navnene er ens ?
Har du/i en løsning på mit problem ?

En formular der kalder en funktion med navn på checkbox(e) som skal
disables.
Formularen består af eks. 5 checkboxe med samme navn á 10 rækker dvs 50
checkboxe.
Hver række checkboxe har samme navn.
Jeg skal så kunne disable kun en række (dvs 5 checkboxe).
Checkboxene(i hver række) er nødt til at have samme navn da de får navn
efter en ID på en person.
Er det muligt ?

Mvh
Lars


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns953B8E4F92925jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Lars skrev:
>
> > Tak for hjælpen, du fik næsten løst mit problem.
> > Jeg har nemlig flere knapper med samme navn, hvordan kan
> > jeg vælge at det er alle eller evt en bestemt som skal
> > disables?
>
> Du kan sagtens have flere formelementer med samme navn - men de
> skal have hver deres id. Og dermed vil getElementById altid kun
> referere til et enkelt element.
>
> Her er et eksempel:
>
> <input type="checkbox" name="farve" id="farveRoed" value="roed" />
> <input type="checkbox" name="farve" id="farveBlaa" value="blaa" />
> <input type="checkbox" name="farve" id="farveGroen" value="groen"
> />
>
>
> NB: Læs gerne min signatur.
> --
> 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



Erik Ginnerskov (04-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-08-04 23:15

Lars wrote:

> En formular der kalder en funktion med navn på checkbox(e) som skal
> disables.
> Formularen består af eks. 5 checkboxe med samme navn á 10 rækker dvs
> 50 checkboxe.
> Hver række checkboxe har samme navn.
> Jeg skal så kunne disable kun en række (dvs 5 checkboxe).
> Checkboxene(i hver række) er nødt til at have samme navn da de får
> navn efter en ID på en person.
> Er det muligt ?

Det vil kræve, at du putter de 5 checkbokse ind i en div, som du så tildeler
den id, der skal disables:

<div id="peter">
<input type="checkbox" name="farve" value="roed" />
<input type="checkbox" name="farve" value="blaa" />
<input type="checkbox" name="farve" value="groen">
<input type="checkbox" name="farve" value="gul" />
<input type="checkbox" name="farve" value="brun">
</div>

Så skal du bare bruge document.GetElementById(peter)

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://hjem.get2net.dk/egin



Jens Gyldenkærne Cla~ (04-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-08-04 16:58

Lars skrev:

> Hej.

Hej. Start lige med at læse min signatur. Min vilje til at hjælpe
falder hver gang jeg skal svare på et bundciteret indlæg.

> Det kan godt være jeg ikke fatter en bjælde men skal det
> forstås sådan, at hvis man ikke har id på sin checkbox,
> så vil den bare disable den første checkbox hvor navnene er
> ens ?

Faktisk bør den - så vidt jeg ved - slet ikke disable noget hvis
der ikke er sat et id. Metoden getElementById er - som navnet
antyder - beregnet til at hente elementer efter id-værdi.

Den skal ikke hente elementer ud fra deres navn (name) omend nogle
browsere måske opfører sig sådan.


> Formularen består af eks. 5 checkboxe med samme navn á 10
> rækker dvs 50 checkboxe.
> Hver række checkboxe har samme navn.

Har de så forskellige values? (ikke fordi det ændrer på hvordan man
får fat i dem, men mere fordi man ellers dårligt kan skelne dem i
formhandleren).

> Jeg skal så kunne disable kun en række (dvs 5 checkboxe).
> Checkboxene(i hver række) er nødt til at have samme navn da de
> får navn efter en ID på en person.

Som nævnt i sidste indlæg - de kan sagtens have samme navn, men
forskellige id-værdier.

Har du evt. et link til din formside?
--
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

Jens Gyldenkærne Cla~ (05-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-08-04 09:49

Erik Ginnerskov skrev:

> Det vil kræve, at du putter de 5 checkbokse ind i en div, som
> du så tildeler den id, der skal disables:

Niks - virker ikke i Mozilla/Firefox og Opera (men IE spiser den).

Disabled-egenskaben skal sættes på formelementer - ikke på en div.
IE "oversætter" selv, sådan så formelementer inde i div-boksen
bliver disabled, men de andre browsere følger altså ikke med (og de
har formentlig specifikationen på deres side).

Man kan sikkert bruge noget DOM-kode til at finde alle input-
elementer inde i en <div id="foo"> - men man kan også bare bruge
samme navn og forskellige id-værdier.
--
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

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

Månedens bedste
Årets bedste
Sidste års bedste