HighDots Forums  

Steuerlementanspruch mit Leerzeichen

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Steuerlementanspruch mit Leerzeichen in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Detlef Jost
 
Posts: n/a

Default Steuerlementanspruch mit Leerzeichen - 11-23-2004 , 02:35 PM






Hallo,

ich generiere mittels aspx-Code Dynamsich JavaScript Code. Dabei wird ein
Fenster aufgerufen, was beim Klicken auf die OK Schaltfläche ein
Steuerlement auf der Basisseite füllt.

Nun habe ich das Problem, dass manche der Steuerelemente Namen mit
Leerzeichen dazwischen exisitieren.

Normmalerweise sprech ich die Elemente mit:

Form1.Textbox1.text = "Hallo Welt"

In meinem Beispiel heisst die Box nun Text Box1:

Form1.Text Box1.text = "Hallo Welt" <- Das klappt nicht.

Kennt jemand eine Möglichkeit, solche Steuerlemente mittels JavaScript
anzusprechen?

Danke für alle Antworten.



Reply With Quote
  #2  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-23-2004 , 04:32 PM






Georg Maaß wrote:

Quote:
Nun habe ich das Problem, dass manche der Steuerelemente Namen mit
Leerzeichen dazwischen exisitieren.

Das Leerzeichen ist, soweit ich weiß, nicht in id- bzw.
name-Attributen erlaubt
Ja, soweit weißt Du richtig:
,-----[ http://www.w3.org/TR/html4/types.html#type-cdata ]-----
Quote:
CDATA is a sequence of characters from the document character set
and may include character entities.
[...]
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
followed by any number of letters, digits ([0-9]), hyphens ("-"),
underscores ("_"), colons (":"), and periods (".").
Dabei fällt mir gerade wie Schuppen aus den Haaren, dass auch
die häufig verwendeten und nachgefragten (von PHP in bestimmten
Situationen sogar erforderten) eckigen Klammern demnach in den
Bezeichnern gar nichts verloren haben. Hab ich da was übersehen?

Quote:
Kennt jemand eine Möglichkeit, solche Steuerlemente mittels
JavaScript anzusprechen?

document.forms['Form1'].elements['Element mit krankem Namen'].text =
'Hallo Welt';
Dazu gibt es auch einen Beitrag in der FAQ:
http://dcljs.de/faq/antwort.php?Antw...s_elementnamen

ciao, dhgm



Reply With Quote
  #3  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-24-2004 , 07:24 AM



Dietmar Meier wrote:

Quote:
Georg Maaß wrote:
Das Leerzeichen ist, soweit ich weiß, nicht in id- bzw.
name-Attributen erlaubt

Ja, soweit weißt Du richtig:
,-----[ http://www.w3.org/TR/html4/types.html#type-cdata ]-----
| CDATA is a sequence of characters from the document character set
^^^^^
| and may include character entities.
| [...]
| ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
^^^^^^^^^^^
| followed by any number of letters, digits ([0-9]), hyphens ("-"),
| underscores ("_"), colons (":"), and periods (".").

Dabei fällt mir gerade wie Schuppen aus den Haaren, dass auch
die häufig verwendeten und nachgefragten (von PHP in bestimmten
Situationen sogar erforderten) eckigen Klammern demnach in den
Bezeichnern gar nichts verloren haben. Hab ich da was übersehen?
Ja:

,-<http://www.w3.org/TR/html4/interact/forms.html>
Quote:
[...]
!ATTLIST FORM
[...]
name CDATA #IMPLIED -- name of form for scripting --
^^^^^
[...]
!ATTLIST INPUT
[...]
name CDATA #IMPLIED -- submit as part of form --
^^^^^
[...]
!ATTLIST BUTTON
[...]
name CDATA #IMPLIED
^^^^^
[...]
!ATTLIST SELECT
[...]
name CDATA #IMPLIED -- field name --
^^^^^
[...]
!ATTLIST TEXTAREA
[...]
name CDATA #IMPLIED
^^^^^

Also: DON'T PANIC![tm]

(Diese Erkenntnis ist allerdings [IIRC auch hier] nicht neu.)


\V/ PointedEars
--
[George W.] Bush wollte die Länder überzeugen. Wo hat er überzeugt?
Er hat bedroht und bedroht und gekauft und gekauft. Und wo trifft er
sich mit Blair und Aznar? Auf den Azoren! Weil dort die Menschen nicht
protestieren können. ([R] Prof. Alfred M. de Zayas, Völkerrechtler)


Reply With Quote
  #4  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-24-2004 , 07:54 AM



Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> typed:

Quote:
Also: DON'T PANIC![tm]
Ich glaube, da hast Du nun etwas übersehen?

Im DTD sind die values für name-Attribute zwar als CDATA
eingeführt, in der Erklärung zum Datentyp CDATA wird
jedoch die zuvor zitierte Einschränkung gemacht (nicht
als gesonderter Abschnitt, sondern innerhalb von CDATA).

Demnach wären dann [^a-zA-Z0-9\-_:.] und somit auch
eckige Klammern eben nicht erlaubt.

ciao, dhgm



Reply With Quote
  #5  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-24-2004 , 08:24 AM





Dietmar Meier wrote:


Quote:
Im DTD sind die values für name-Attribute zwar als CDATA
eingeführt, in der Erklärung zum Datentyp CDATA wird
jedoch die zuvor zitierte Einschränkung gemacht (nicht
als gesonderter Abschnitt, sondern innerhalb von CDATA).

Demnach wären dann [^a-zA-Z0-9\-_:.] und somit auch
eckige Klammern eben nicht erlaubt.
Der Abschnitt erklaert doch nicht (nur) CDATA, sondern listet einige
SGML-Datentypen, da wird die Erklaerung fuer ID und NAME neben CDATA
gelistet und nicht als Einschraenkung.
Wenn ein Attribut den Typ NAME haben soll, dann steht das auch in der
Spezifikation, z.b. fuer id
http://www.w3.org/TR/html4/struct/global.html#h-7.5.2


--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #6  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-24-2004 , 09:29 AM



Dietmar Meier wrote:

Quote:
Thomas 'PointedEars' Lahn <PointedEars (AT) web (DOT) de> typed:
Also: DON'T PANIC![tm]

Ich glaube, da hast Du nun etwas übersehen?
Nö.

Quote:
Im DTD
*Im*? MUSEN handelt es sich um *die* DTD (Dokument[ ]typ[e][-]Definition).

Quote:
sind die values für name-Attribute zwar als CDATA eingeführt,
Nicht für alle Elemente:

<http://www.w3.org/TR/html4/index/attributes.html>

Quote:
in der Erklärung zum Datentyp CDATA wird jedoch die zuvor zitierte
Einschränkung gemacht (nicht als gesonderter Abschnitt, sondern
innerhalb von CDATA).
Das hast Du fchsal verstanden. Im Abschnitt, aus dem Du
zitiertest, werden *mehrere* SGML-Datentypen beschrieben:

<http://www.w3.org/TR/html4/types.html#h-6.2>

Bei CDATA steht sinngemäß, daß es für Attributwerte mit diesem Typ
weitere Einschränkungen geben *kann*, die nicht in der DTD definiert
werden (können). Beispielsweise muß der Wert des class-Attributs
(Typ CDATA) eine Whitespace-separierte Liste (Subtyp cdata-list) sein.

Das hat mit den Einschränkungen, welche die Definitionen des ID- und
NAME-Typs machen, genau nichts zu tun.

Quote:
Demnach wären dann [^a-zA-Z0-9\-_:.] und somit auch
eckige Klammern eben nicht erlaubt.
Sofern es sich bei dem Attributwert um einen vom Typ CDATA handelt _und_ die
Spezifikation bei dem jeweiligen Attribut eine solche Einschränkung macht,
*oder* es sich um einen Attributwert vom Typ NAME/ID handelt. Welchen Typ
ein Attributwert hat, definiert die DTD, erst dann gelten Einschränkungen
lt. Spezifikation für genau dieses Attribut bei genau diesem Element.


X-Post & F'up2 <dciwam/>

PointedEars
--
Die Amerikaner haben ihre Ausgaben zur Bekämpfung der Armut in der Welt
gerade auf 1,7 Milliarden Dollar reduziert. Das ist nicht einmal so viel,
wie sie in zwei Tagen fürs Militär ausgeben.
-- Eugen Drewermann, dt. Theologe, Februar 2003


Reply With Quote
  #7  
Old   
Dietmar Meier
 
Posts: n/a

Default Re: Steuerlementanspruch mit Leerzeichen - 11-24-2004 , 09:36 AM



Martin Honnen <mahotrash (AT) yahoo (DOT) de> typed:

Quote:
da wird die Erklaerung fuer ID und NAME neben CDATA
gelistet und nicht als Einschraenkung.
Whoa, jetzt sehe ich das auch #-/. Dann tatsächlich

Quote:
Also: DON'T PANIC![tm]
und weiter wie bislang.

ciao, dhgm



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.