/ 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
W3C valide egenskab via javascript
Fra : Martin Hintzmann And~


Dato : 28-01-04 11:34

Hej NG

- Må man ifølge W3C sætte sine egne egenskaber/properties på DOM
elementer via javascript ?

I følge W3C må man ikke sætte sine egne attributter (X)HTML koden.

<input type="text" required="true" />

- Men må man sætte egenskaben via javascript?

document.forms[0].elements[0].required = true;
document.getElementById(ID).required = true;

Jeg ved godt at attributten/egenskaben kan tilgåes via javascript.
Det er mere om man må i følge standarderne.

Her tænker jeg også på når siden serveres med andre MIME-typer end
standard "text/html" såsom f.eks. "application/xhtml+xml".

Pft.
Hintzmann c",)

 
 
Lasse Reichstein Nie~ (28-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 28-01-04 21:53

Martin Hintzmann Andersen <no@spam.please> writes:

> - Må man ifølge W3C sætte sine egne egenskaber/properties på DOM
> elementer via javascript ?
>
> I følge W3C må man ikke sætte sine egne attributter (X)HTML koden.
>
> <input type="text" required="true" />
>
> - Men må man sætte egenskaben via javascript?
>
> document.forms[0].elements[0].required = true;
> document.getElementById(ID).required = true;

Der er ingen standard der siger noget om det. Det er DOM
element-objekter du sætter en egenskab på. De er objekter, så det
giver mening at sætte egenskaber på dem fra Javascript. De er dog
"host-objects", så der er ingen regel der siger at man *skal* kunne
(eller ikke kunne) sætte egenskaber på dem. Så længe de egenskaber
som DOM-specifikationen nævner er der, så er resten af opførslen helt
valgfri.

Det har under alle omstændigheder ikke noget med DOM at gøre, når
man sætter en værdi direkte på en ukendt egenskab.

Det mere interessante spørgsmål er om man må bruge
document.getElementById(ID).setAttribute("required","true");
Her bruger man DOM-metoden til at sætte attributten, så den
bliver en del af dokument-strukturen. Må man det, når attributten
ikke er med i den DTD ens dokument siger det opfylder?

Jeg kan ikke se noget i DOM-speciifikationen der siger at man ikke må.
Mere kan jeg desværre ikke sige :)

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Martin Hintzmann And~ (29-01-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 29-01-04 14:56

Lasse Reichstein Nielsen wrote:
>
> Der er ingen standard der siger noget om det. Det er DOM
> element-objekter du sætter en egenskab på. De er objekter, så det
> giver mening at sætte egenskaber på dem fra Javascript. De er dog
> "host-objects", så der er ingen regel der siger at man *skal* kunne
> (eller ikke kunne) sætte egenskaber på dem. Så længe de egenskaber
> som DOM-specifikationen nævner er der, så er resten af opførslen helt
> valgfri.
>

Okay. Så de er altså "host-objects". Det vil altså sige at man burde
kunne sætte egenskaber såsom strings, integers, booleans, arrays og
andre objecter.
Man bør dog passe på ikke at benytte et navn som allerede findes på DOM
elementet. F.eks. "dir" som for nogen måske er ukendt.


> Det har under alle omstændigheder ikke noget med DOM at gøre, når
> man sætter en værdi direkte på en ukendt egenskab.
>

Med innerHTML viser IE de egenskaber man selv har opfundet, men ikke i
Mozilla og Opera.
Men kan i alle 3 browsere tilgåes fra javascript -
document.getElementById("TEST").required


> Det mere interessante spørgsmål er om man må bruge
> document.getElementById(ID).setAttribute("required","true");
> Her bruger man DOM-metoden til at sætte attributten, så den
> bliver en del af dokument-strukturen. Må man det, når attributten
> ikke er med i den DTD ens dokument siger det opfylder?
>

Det vil jeg ikke tro at man må.

Med setAttribute viser IE og Mozilla (med innerHTML) den attribut man
selv har opfundet, men ikke i Opera.
Opera kan heller ikke tilgå den via javascript -
document.getElementById("TEST").required



> Jeg kan ikke se noget i DOM-speciifikationen der siger at man ikke må.
> Mere kan jeg desværre ikke sige :)
>

Jeg takker for dit svar

Hintzmann c",)

Erik Ginnerskov (29-01-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-01-04 00:37


"Martin Hintzmann Andersen" <no@spam.please> skrev
>
> - Må man ifølge W3C sætte sine egne egenskaber/properties på DOM
> elementer via javascript ?
>
> I følge W3C må man ikke sætte sine egne attributter (X)HTML koden.
>
> <input type="text" required="true" />

Det er vel heller ikke nødvendigt med de krumspring. Lav i stedet dette:

<input type="hidden" name="required" value="email" />
<input type="text" name="email" />

.... så kan formularen ikke sendes, uden at input er udfyldt.

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



Jens Gyldenkærne Cla~ (29-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-01-04 12:15

Erik Ginnerskov skrev:

> <input type="hidden" name="required" value="email" />
> <input type="text" name="email" />
>
> ... så kan formularen ikke sendes, uden at input er udfyldt.

Hvad for en fisk? Skulle ovenstående uden videre bevirke at email-
feltet nu er obligatorisk? Det har jeg aldrig hørt om.

Kan du give et eksempel på det i brug?

--
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~ (29-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-01-04 13:44

Erik Ginnerskov skrev:

> Jeg har desværre ikke noget aktivt at henvise til, men har
> tidligere brugt det i en brugerundersøgelse.

Jeg kan ikke forestille mig at en sådan validering kan virke uden
at sætte javascript på. Jeg har prøvet at opbygge et simpelt
eksempel her: <http://gyros.dk/usenet/asp/formtest2.asp>. Der er
ingen af mine browsere der undlader at sende formen hvis mailfeltet
er tomt.
--
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 (29-01-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-01-04 21:07


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev

> Jeg kan ikke forestille mig at en sådan validering kan virke uden
> at sætte javascript på. Jeg har prøvet at opbygge et simpelt
> eksempel her: <http://gyros.dk/usenet/asp/formtest2.asp>. Der er
> ingen af mine browsere der undlader at sende formen hvis mailfeltet
> er tomt.

Prøv at læse Martins svar til mit første indlæg. Han gennemskuede det, det
kørte vha. cgi, hvilket jeg (måske fejlagtigt) antog, at det også vedrørende
denne tråd var gældende.

Tilsyneladende har get2net nedlagt den funktion. I hvert fald virker en
mailformular, jeg har liggende der, ikke pt. Har mailet til get2net for at
få opklaret hvorfor.

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




Erik Ginnerskov (29-01-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-01-04 12:43


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev

> > <input type="hidden" name="required" value="email" />
> > <input type="text" name="email" />
> >
> > ... så kan formularen ikke sendes, uden at input er udfyldt.
>
> Hvad for en fisk? Skulle ovenstående uden videre bevirke at email-
> feltet nu er obligatorisk? Det har jeg aldrig hørt om.
> Kan du give et eksempel på det i brug?

Jeg har desværre ikke noget aktivt at henvise til, men har tidligere brugt
det i en brugerundersøgelse.

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



Martin Hintzmann And~ (29-01-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 29-01-04 15:02

Erik Ginnerskov wrote:

> Det er vel heller ikke nødvendigt med de krumspring. Lav i stedet dette:
>
> <input type="hidden" name="required" value="email" />
> <input type="text" name="email" />
>
> ... så kan formularen ikke sendes, uden at input er udfyldt.
>

Jeg tror du tænkter på sådan noget mail-CGI-script, som findes hos mange
udbydere.
Ideen er som sådan god nok, da det også virker uden javascript, men
giver dog en masse skjulte felter.
Hvilket i mit tilfælde er lidt uhensigtsmæssigt, da jeg skal lege med
flere egenskaber end kun "required", såsom "type", "calculate",
"constraint", "relevant" m.fl.

Men jeg takker for dit svar

Hintzmann c",)

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste