[HTML] Textfeld soll nur was anzeigen - aber deaktiv sein. Wie?

mr5

Banned
Registriert
Feb. 2005
Beiträge
1.041
Hallo,

ich habe in einem Formular mehrere Textfelder. Einige Daten sind schon vorgegeben.

Ich wollte diese Daten auch in einem Textfeld darstellen lassen, nur eben dass der Kunde das Textfeld nicht abändern kann.

Gibt es ein entsprechendes Attribut?

Danke für einen Tipp.

Gruß
STefan
 
HTML kennt für Formular-Elemente das readonly-Attribut:

Code:
<textarea readonly='readonly' />

greetings, Keita
 
:daumen: Einfach Klasse Keita !

DAANKE!
 
Hallo,

Code:
<textarea readonly="readonly" />
So ist es standardkonform (Anführungszeichen).

Das ist zwar ein ganz nettes Attribut, und funktioniert auch in den meisten Browsern, doch es lässt sich sehr einfach umgehen. Daher ist es unbedingt empfehlenswert, den Wert nochmals zu prüfen, wenn das Formular abgeschickt wurde.

Gruß
FreeZeY
 
Es ist egal, ob man single oder double quotes nimmt, sowohl SGML (HTML) als auch XML (XHTML) erlauben beide Notationen.

Wenn man ein Element als readonly deklariert hat, sollte man ihn gar nicht verarbeiten, alles andere wäre ein Designfehler in der Applikation ;)

greetings, Keita
 
Zuletzt bearbeitet:
Was hat das <textarea readonly='readonly' /> denn darin zu suchen?

Es klappt auch wunderbar wenn man nur readonly genausso wie checked schreibt.

Also <textarea readonly value='beispiel'>
- Was für einen Unterschied macht wenn man hinter dem readonly noch ='readonly' dransetzt?

Was hat das Slash denn immer vor der eckigen Klammer zu suchen? />.

Ist das auch eher die richtige Notation wenn man das Ende eines HTML-Befehles mit Slash-Eckigeklammer beendet?

Viele Fragen, wie immer Danke für eure Mühe einer Antwort :).


PS: Müsste es dann nicht auch heissen <a href='xy' />link</a /> ? Oder ist das nur für HTML-Befehle die "Einsilbig" sind wie z.B. <br />?
 
Zuletzt bearbeitet:
XML-Attributen müssen immer Werte zugewiesen werden, daher weist man Attributen, die ehemals "standalone" waren, einfach den Attributsnamen als Wert zu. Wenn man HTML anstelle von XHTML einsetzt, kann man natürlich darauf verzichten.
Der Slash am Ende eines Tags ist die Kurznotation ohne Endtags, d.h.

Code:
<textarea/>

ist das gleiche wie

Code:
<textarea></textarea>

Übrigens wird der "Inhalt" einer textarea nicht als value-Attribut angegeben, sondern zwischen öffnendem und schließendem Tag geschrieben:

Code:
<textarea cols='40' rows='3'>Ich bin der Inhalt</textarea>

greetings, Keita
 
Vielen Dank für die Erklärung Keita!

<input type='text' size='50' name='firma' value='$firma'>

Ich hatte <textarea> mit <input> verwechelt.


Frage:

Wenn der Slash am Ende eines Tags die Kurznotation ohne Endtags ist, was für einen Sinn macht es?

z.B:

<b>hallo</b>

Wie will man das denn ohne Endtag darstellen?

<b hallo /> ? doch wohl nicht :) ...

Den Sinn der Kurzform erkenne ich nicht so richtig.

Was ist der Unterschied zwischen <br> und <br /> ... vielleicht so, dass es grundsätzlich in dieser Form "<br></br>" XHTML-Konform ist? Aber man kann beim HTML einfach das Endtag weglassen also nur <br>, und wenn man XHTML-Konform schreiben möchte kann man auch <br /> schreiben?

Oder gibt´s da einen anderen tieferen Sinn?


Wiedermal danke im Voraus für eure Mühe der Erklärung!
 
Zuletzt bearbeitet:
<b> macht natürlich - wie bei vielen Tags - ohne End-Tag keinen Sinn, sowas wie
Code:
<b/>
ist ziemlich sinnfrei :D
Es gibt jedoch einige Elemente, die in den DTDs auf EMPTY gesetzt sind, dazu gehören u.a. br, img, input, link, meta. Diese Elemente kann man sowohl mit End-Tags als auch in Kurznotation verwenden, erstere ist natürlich deutlich bequemer, letzteres wird von vielen Browsern gar nicht verstanden bzw. richtig interpretiert:
Code:
<br/> => <br></br>
<img/> => <img></img>
<input/> => <input></input>
etc.

Das ganze ist darin begründet, daß XML ohne diese Regel gar nicht funktionieren könnte. Anders als HTML ist XML ja explizit darauf ausgelegt erweiterbar zu sein (daher der Name Extensible Markup Language), d.h. ein XML-Parser weiß überhaupt nicht, welche Tags ihm über den Weg laufen könnten. Gäbe es nicht die Regel, daß jeder Tag geschlossen werden muß, allerdings nicht, hätte der XML-Parser keinerlei Möglichkeit ein Dokument zu parsen, wenn ein End-Tag fehlen würde:
Code:
<banane>
  <apfel>
    <birne>
</banane>

Sind apfel und birne Siblings, also benachbarte Elemente, oder Descendants, also Elemente, die ineinander verschachtelt? Dies wird erst durch die End-Tags klar:

Code:
<banane>
  <apfel>
    <birne/>
  </apfel>
</banane>

bzw.

<banane>
  <apfel/>
  <birne/>
</banane>

Wenn du nicht XHTML, sondern HTML schreibst, kannst du die End-Tag-Geschichte außer Acht lassen ;)

greetings, Keita
 
Keita schrieb:
Es ist egal, ob man single oder double quotes nimmt, sowohl SGML (HTML) als auch XML (XHTML) erlauben beide Notationen.

Oh ja. Ich habs grad mal ausprobiert. Ich bin immer fest davon ausgegangen, dass nur double quotes den Standards entsprechen. Meistens liest man jedoch von double quote, da sie einfach weiter verbreitet sind. Aber OK, wenn es konform ist, nehme ich mein Kommentar zurück.

Keita schrieb:
Wenn man ein Element als readonly deklariert hat, sollte man ihn gar nicht verarbeiten, alles andere wäre ein Designfehler in der Applikation ;)

Da ist auch was dran, jedoch gibt es sicherlich auch forms, die nur in bestimmten Fällen ein readonly deklariert haben, wenn also eine Bedingung daran hängt. Dann sollte man den Wert auf Gleichheit prüfen oder eben nochmals die Bedingung prüfen.

Nun, wie auch immer. Im Gesamten muss ich Dir natürlich Recht geben ;).

Gruß
FreeZeY
 
Keita, Du bist ja total Klasse! :D

Der Unterschied bei PHP zwischen single und double Quotes besteht ja soweit ich weiss darin, dass alles zwischen double Quotes geparst wird, und zwischen single Quotes nicht.

Oder gibt es noch mehr Unterschiede bei PHP oder HTML?

Also:

$x ="hallo";

print "$x"; // ergibt hallo
print '$x'; // ergibt $x

Es ist schon erstaunlich, wieviel Wissen man im Programmieren erlangen kann. Da muss man schon ziemlich viel Geist haben um so zu sein wie Keita.
 
Danke für die Blumen :cool_alt:

In HTML gibt es keine inhaltlichen oder sonstigen Unterschiede zwischen Single und Double Quotes, es ist in erster Linie eine Frage der Gewohnheit und der Bequemlichkeit. In Sprachen, in denen häufig Single Quotes verwendet werden (z.B. Englisch) ist es deutlich bequemer mit Double Quotes zu arbeiten:

Code:
<a href="foo" title="that's it!">Click</a>

statt

<a href='foo' title='that's it!'>Click</a>

Umgekehrt ist natürlich deutlich bequemer, wenn in der Sprache häufig Doube Quotes genutzt werden (z.B. Deutsch):
Code:
<a href='foo' title='Homepage vom "Goldenen Ochsen"'>Click</a>

statt

<a href="foo" title="Homepage vom &quot;Goldenen Ochsen&quot;">Click</a>

greetings, Keita
 
Abgesehen davon sollte man ein als Readonly deklariertes Element auf jeden Fall nochmals überprüfen! Man stelle sich vor dass der Inhalt des Elementes ungecheckt in einer SQL Abfrage verwendet wird.
Dann könnte man mithilfe eines selbst geschriebenen Programmes (C++, Delphi, PHP, eigenes Forumlar) fröhlich Code injecten ohne dass dieser überprüft würde...
 
@Kampfgnom:
Schon mal daran gedacht den Thread zu lesen, bevor man seinen Senf dazu gibt? Das ganze wurde hier schon diskutiert!
 
Zurück
Oben