Avatar billede 123maka Nybegynder
31. december 2002 - 17:46 Der er 23 kommentarer og
1 løsning

Hvordan kan man gøre så man ikke kan skrive i en textbox

Jeg har et forum sys.
Når brugerne så skal svare på en post skal der være en form som denne:

<input type="text" size="30" name="name" value="<? print $username ?>" maxlength="50" class="input"><p>

Så vil jeg med javascript eller noget få den til at man ikke kan skrive i den form så den ligesom bliver "inaktiv" men stadig kan læse indholdet.
Avatar billede arne_v Ekspert
31. december 2002 - 17:54 #1
Hvorfor ikke bare skrive det i.s.f. at putte det i en text box ?

(hvis du vil have de submitted med, så kan du bare skrive det synligt
og placere det i et skjult input felt)
Avatar billede Slettet bruger
31. december 2002 - 17:54 #2
hvad er ideen lige i det ? om man må spørge, så var det da lettere bare at lade det udskrive som alment html ?
Avatar billede thesurfer Nybegynder
31. december 2002 - 18:00 #3
skriv "readonly" i input tagget:

<input type="text" size="30" name="name" value="<? print $username ?>" maxlength="50" class="input" readonly>

/theSurfer.
Avatar billede thesurfer Nybegynder
31. december 2002 - 19:01 #4
Det skulle gerne virke.. så er er et svar.

/theSurfer.
Avatar billede whatever Nybegynder
31. december 2002 - 20:57 #5
Hvis det skal være korrekt efter standarderne:

<input type="text" size="30" name="name" value="<? print $username ?>" maxlength="50" class="input" readonly="readonly" />

Se http://www.w3schools.com/tags/tag_input.asp
Avatar billede whatever Nybegynder
31. december 2002 - 20:58 #6
svar
Avatar billede thesurfer Nybegynder
01. januar 2003 - 06:55 #7
whatever> Jeg har kigget på linket.. værdien "readonly" for attributten "readonly" er måske sat for at feltet ikke skulle være tomt, eller for at vise at der ikke er en true/false/1/0 værdi. Det skulle gerne virke uden at man skriver: readonly="readonly".

Mvh og Velkommen til det år,

/theSurfer.
Avatar billede Slettet bruger
01. januar 2003 - 07:13 #8
thesurfer>> Det som whatever forslår er korrekt html efter standarderne, der er så meget der virker i ie, som ikke er efter standarderne, men man skal holde sig fra.
Avatar billede olebole Juniormester
04. januar 2003 - 05:30 #9
<ole>

thesurfer og questis >> Det er nu ikke korrekt  :)
readonly er en boolsk attribut ... den skal _ikke_ sættes med værdien 'readonly'.

http://www.w3.org/TR/html401/interact/forms.html#adef-readonly
http://www.w3.org/TR/html401/interact/forms.html#h-17.4

readonly er boolsk og kan derfor være sat eller ikke ... den kan ikke sættes til en værdi.
Værdien i parentesen på W3C.org (som bør foretrækkes fremfor W3C-schools-siderne) er alm. W3C-syntaks for, at attributten sættes eller ej.
Prøv at sammenholde den med disabled, checked og selected - de er vist i eksempler på samme side.

Skal disse attributter sættes med script, sættes de til true, henholdsvis false.

/mvh
</bole>
Avatar billede olebole Juniormester
04. januar 2003 - 05:31 #10
Undskyld ... det var whatever - ikke thesurfer.

Jaja ... whatever ...(?)  ;oD
Avatar billede whatever Nybegynder
04. januar 2003 - 14:16 #11
Jaja ... olebole ...

I HTML4.01 kan man benytte "attribute minimization", hvilket vil sige at man kan nøjes med at skrive readonly, man kan også i denne version skrive readonly="readonly". I XHTML er "attribute minimization" afskaffet, det betyder at der skal skrives readonly="readonly".

Hvis du kikker på denne side http://www.w3.org/TR/2000/REC-xhtml1-20000126/#diffs under punkt 4.5, vil du se et eksempel på hvordan det skrives. I det tilfælde skrives compact="compact", og ikke compact="true".

Følgende er kopieret fra XHTML1-transitional DTD'en http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd:

<!ELEMENT input EMPTY>    <!-- form control -->
<!ATTLIST input
  %attrs;
  type        %InputType;    "text"
  name        CDATA          #IMPLIED
  value      CDATA          #IMPLIED
  checked    (checked)      #IMPLIED
  disabled    (disabled)    #IMPLIED
  readonly    (readonly)    #IMPLIED
  size        CDATA          #IMPLIED
  maxlength  %Number;      #IMPLIED
  src        %URI;          #IMPLIED
  alt        CDATA          #IMPLIED
  usemap      %URI;          #IMPLIED
  tabindex    %Number;      #IMPLIED
  accesskey  %Character;    #IMPLIED
  onfocus    %Script;      #IMPLIED
  onblur      %Script;      #IMPLIED
  onselect    %Script;      #IMPLIED
  onchange    %Script;      #IMPLIED
  accept      %ContentTypes; #IMPLIED
  >

Ud fra det fremgår det klart, at attributter som checked, readonly, disabled ikke kan sættes til en boolsk værdi. De kan kun have en bestemt værdi, og den er henholdsvis checked, readonly og disabled.

I HTML4.01 standarden kan readonly også tildeles en værdi, men ikke true ifølge http://www.w3.org/TR/html401/loose.dtd. Det er igen muligt med readonly="readonly".

Jeg har lavet et eksempel for at kunne validere det hos w3c. Ud fra valideringen fremgår det tydeligt at man ikke kan benytte true i hverken HTML4.01 eller XHTML1.0.

HTML4.01 http://www.efusion.it/exp/299753_4.html
Validering http://validator.w3.org/check?uri=http://www.efusion.it/exp/299753_4.html

XHTML1.0 http://www.efusion.it/exp/299753.html
Validering: http://validator.w3.org/check?uri=http://www.efusion.it/exp/299753.html


Nu ved jeg ikke hvor du set, at værdier skal være boolske værdier. Men det kunne da være interessant med en link.
Avatar billede whatever Nybegynder
04. januar 2003 - 14:18 #12
Url'en til XHTML1 DTD'en fucker lidt pga. et :, men denne fungerer:

http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd
Avatar billede olebole Juniormester
04. januar 2003 - 20:35 #13
Jeg prøver igen  :)

readonly er en boolsk attribut. Havde du læst det sted, jeg linkede til, var det nok ikke nøsvendigt at gentage ... men okay:
  http://www.w3.org/TR/html401/interact/forms.html#adef-readonly
Øverste linie:
"readonly [CI]
When set for a form control, this boolean attribute prohibits changes to the control."
Tydeligere kan det vist ikke skrives  :)

Ingen har her talt om at sætte attributten til true ... blot at skrive:
  <input type="text" readonly>
_Kun_ når readonly sættes via JavaScript, skal du bruge:
ELEMENT.readonly = true;
... men det har ikke noget med HTML-standarden at gøre - det hører under ECMA.

Ingen har heller talt om XHTML, der jo ikke er HTML - men netop XHTML  :)
Derfor er det heller ikke interessant, hvad man kan og ikke kan i XHTML - eller hvordan denne standard differerer fra forskellige HTML-standarder.

Læg mærke til. W3C selv bruger attribute minimization i alle eksempler under deres HTML-rekommenationer.

Derfor er det noget vrøvl, at readonly="readonly" skulle være mere korrekt ifølge HTML-standarderne, en blot at anføre readonly.
/mvh
Avatar billede arne_v Ekspert
04. januar 2003 - 20:48 #14
Hvorfor er XHTML lige-gyldigt ?

Det er jo nyeste HTML standard !

Der kommer ikke en HTML 5.0 - der kommer en XHTML 2.0 !
Avatar billede olebole Juniormester
04. januar 2003 - 21:49 #15
arne_v >> Jamen, XHTML er absolut ikke ligegyldigt, men du misforstår noget helt fundamentalt :)
XHTML er XHTML ... _ikke_ HTML. XHTML og HTML er to forskellige markup-sprog.
Derfor er XHTML heller ikke den nyeste HTML-standard. Det er HTML 4.01  :)

Hvad der måtte ske i fremtiden, sker i fremtiden.
Det, vi diskuterer her, er hvad der er korrekt i forhold til den seneste HTML-standard - altså HTML 4.01.

Derfor er det i denne forbindelse totalt uinteressant, hvad der måtte være gældende i XHTML - uagtet, det er yderst relevant og interessant i andre sammenhænge.
/mvh
Avatar billede arne_v Ekspert
04. januar 2003 - 21:54 #16
Der er vi fundamentalt uenige.

XHTML er afløseren for HTML.

HTML 4.01 er ligeså relevant idag som HTML 3.2 var efter
at HTML 4.0 var releaset !

Og folk kan ligeså godt begynde at rette deres sider til
efter nyeste standard.

Specielt da hvis den nye måde som i dette tilfælde også
virker efter den gamle standard.
Avatar billede olebole Juniormester
04. januar 2003 - 22:46 #17
arne_v >> Det er fordi, du nok ikke rigtig ved, hvad du taler om. Det gør til gengæld W3C  :)

XHTML er en udvidelse af HTML ... det er _ikke_ det samme sprog. XHTML reformulerer HTML som en XML-applikation.
HTML4.01 er den gældende HTML-standard idag.
Havde XHTML afløst HTML, ville man nok ikke hos W3C beskæftiget sig yderligere med HTML ... dette har ikke været tilfældet.

Selv skriver W3C om XHTML bl.a:
"What is XHTML?
The Extensible HyperText Markup Language (XHTML™) is a family of current and future document types and modules that reproduce, subset, and extend HTML, reformulated in XML. XHTML Family document types are all XML-based, and ultimately are designed to work in conjunction with XML-based user agents. XHTML is the successor of HTML, and a series of specifications has been developed for XHTML."
Altså: XHTML og HTML er _ikke_ samme sprog - og ikke umiddelbart beregnet for samme brug.
At dette ændrer sig i fremtiden er overvejende sandsynligt, men det vi taler om her, er stadig den gældende HTML-standard - og den hedder HTML4.01.

Derfor er det væsentligt at skrive i XHTML, hvis dokumentet skal parses i en XML-parser. Hvis ikke, er det helt unødvendigt, som verden og teknologien ser ud idag.

Bruger du XHTML til det, det er konstrueret til (anvendelse sammen med XML), kan siden ikke parses af en alm. HTML-parser (bl.a. style- og script-tags fejler, da de skal anføres anderledes i XHTML). Derfor er det noget vrøvl at skrive:

"Og folk kan ligeså godt begynde at rette deres sider til
efter nyeste standard.

Specielt da hvis den nye måde som i dette tilfælde også
virker efter den gamle standard."

At du føler dig kaldet til at råde andre til at skrive i XHTML og tilrette deres sider til en fremtidig gældende standard, er din egen sag - men det er idag helt ubegrundet at skrive i XHTML, hvis ikke man gør brug af XML.
Derudover er det en fordel at sætte sig grundigt ind i, hvad man råder andre til  ;o)
/mvh
Avatar billede arne_v Ekspert
04. januar 2003 - 22:53 #18
Jeg skrev:
  XHTML er afløseren for HTML

Det W3C citat du kommer med siger:
  XHTML is the successor of HTML

Det ligner nærmest en ordret oversættelse !

Og ja - jeg synes at det er smart når man kan lave
et tag på 2 forskellige mådet i HTML 4.01 at vælge den
metode der er legal i fremtiden (XHTML) !

Det hedder at fremtidssikre sin kode.
Avatar billede olebole Juniormester
04. januar 2003 - 23:24 #19
Det er en opfattelse, jeg ikke anfægter ... den har du lov til at have. Det ændrer dog ikke ved, dit indlæg er ren støj, da det intet har med den oprindelige diskusion at gøre.

Spørgsmålet var, om det er korrekt i følge gældende HTML-standard at skrive <input type="text" readonly>.
Det _er_ det - omend det ikke er korrekt i forhold til XHTML-standarden, som jo netop ikke er gældende HTML-standard, men en kommende afløser.

Set-top'en er formodentlig afløseren for PC'en og der kommer uden tvivl en afløser for vores nuværende Statsminister. Indtl da har vi PC'en og Hr. Rasmussen.

Sluttelig skriver du, hvad _du synes_ folk bør gøre ... og det er måske her, hele problemet ligger.
Standarder er netop et værktøj, der overflødiggør, at folk har det ene eller det andet proprietære synspunkt. Man kan bare overholde gældende standard - og for HTML hedder den stadig HTML4.01 - med den _ene_ undtagelse, at du skal skrive i XHTML, hvis dokumentet skal XML-parses.

Skriver man korrekt XHTML (og det er der meget få, der gør ... og åbenbart heller ikke du), kan dokumentet ikke parses af en standard HTML-parser. Skal dette kunne lade sig gøre, skal du 'bøje' XHTML-standarden - og så er vi jo lige vidt  :)
/mvh
Avatar billede thesurfer Nybegynder
05. januar 2003 - 07:41 #20
Takker for points.

/theSurfer.
Avatar billede arne_v Ekspert
05. januar 2003 - 10:16 #21
olebole>

#Det ændrer dog ikke ved, dit indlæg er ren støj, da det intet har med den
#oprindelige diskusion at gøre.

????

Det svar der fik pointene var:

#<input type="text" size="30" name="name" value="<? print $username ?>" maxlength="50" class="input" readonly>

Og hele diskussionen gik på om det var bedst at bruge
readonly eller readonly="readonly".

Så vidt jeg kan se, så har det endda særdeles meget med den
oprindelige diskussion at gøre.
Avatar billede arne_v Ekspert
05. januar 2003 - 10:19 #22
olebole>

#Det _er_ det - omend det ikke er korrekt i forhold til XHTML-standarden, som jo
#netop ikke er gældende HTML-standard, men en kommende afløser.

Prøv lige og læs lidt på W3C !

XHTML er afløseren til HTML.

XHTML er på gaden.

Derfor har XHTML afløst HTML 4.01 ud fra et W3C synspunkt.

[at de gængse browsere så er lang bagefter det er så en
helt anden sag - men en sag som er ret irrelevant i dette
specifikke tilfælde]
Avatar billede arne_v Ekspert
05. januar 2003 - 10:58 #23
olebole>

#Sluttelig skriver du, hvad _du synes_ folk bør gøre ... og det er måske her, hele problemet ligger.
#Standarder er netop et værktøj, der overflødiggør, at folk har det ene eller det andet proprietære synspunkt.

Kan du forklare hvorfor det er et proprietært synspunkt at anbefale
en løsning som overholder både HTML 4.01 og XHTML 1.0 fremfor en løsning
som kun overholder HTML 4.01 ?
Avatar billede whatever Nybegynder
05. januar 2003 - 12:22 #24
#Skriver man korrekt XHTML (og det er der meget få, der gør ... og åbenbart
#heller ikke du), kan dokumentet ikke parses af en standard HTML-parser. Skal
#dette kunne lade sig gøre, skal du 'bøje' XHTML-standarden - og så er vi jo
#lige vidt  :)

Hvad mener du med det? Hvad er korrekt XHTML? At det overholder XHTML-strict, eller......?
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