HighDots Forums  

Select-Liste durch <input> erweitern

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


Discuss Select-Liste durch <input> erweitern in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #11  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-13-2007 , 02:28 AM






Andreas Eibach wrote:
Quote:
"Thomas 'PointedEars' Lahn" <PointedEars (AT) web (DOT) de> wrote:
function disableInput()
{
document.forms["foo"].elements["bar"].disabled = true;
}
/script

Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige Spur
gebracht.
Das wäre tragisch, handelt es sich doch hierbei weder um ein Array, noch
unterstützten ECMAScript-Implementationen die Datenstruktur "assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".


PointedEars
--
[FrontPage] Dann wechsle schnellstens zu Notpatsch.echse, dann mußt Du
alle Buchstaben selber eingeben und Dir auch bei jedem überlegen, ob der
dahingehört bzw. weggelassen werden kann.
(Georg Maaß in dcljs <b57nm8$25hka6$1 (AT) ID-3551 (DOT) news.dfncis.de>)


Reply With Quote
  #12  
Old   
Ferry Bolhar
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-13-2007 , 02:57 AM






Thomas "PointerEars" Lahn:

Quote:
Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige Spur
gebracht.

Das wäre tragisch, handelt es sich doch hierbei weder um ein Array, noch
unterstützten ECMAScript-Implementationen die Datenstruktur "assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".
Ich halte das nicht für so tragisch, denn obwohl du recht hast,
kommt die Wirkungsweise des Ausdrucks der von assoziativen
Arrays recht nahe. Es gibt sogar JS-Bücher (und das sind IMHO
nicht die schlechtesten), in denen hier von "Keys" die Rede ist,
auch wenn es sich eigentlich um Objektattribute handelt. Wichtig
ist doch letztlich, dass man versteht, worum es geht, und jeder,
der zB. schon mal mit Perl oder PHP gearbeitet hat, wird den
Einstieg in diese Materie leichter finden, wenn er diese Begriffe
hört bzw. liest.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf (AT) wien (DOT) gv.at




Reply With Quote
  #13  
Old   
Andreas Eibach
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-13-2007 , 04:00 PM




"Ferry Bolhar" <bol (AT) adv (DOT) magwien.gv.at> wrote:
Quote:
Thomas "PointerEars" Lahn:

Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige
Spur
gebracht.

Das wäre tragisch, handelt es sich doch hierbei weder um ein Array,
noch
unterstützten ECMAScript-Implementationen die Datenstruktur
"assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".

Ich halte das nicht für so tragisch, denn obwohl du recht hast,
kommt die Wirkungsweise des Ausdrucks der von assoziativen
Arrays recht nahe. Es gibt sogar JS-Bücher (und das sind IMHO
nicht die schlechtesten), in denen hier von "Keys" die Rede ist,
auch wenn es sich eigentlich um Objektattribute handelt.
Stimmt, mein Flanagan - und genau da hab ichs her.
:P

-Andreas



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

Default Re: Select-Liste durch <input> erweitern - 11-13-2007 , 05:52 PM



Andreas Eibach wrote:
Quote:
"Ferry Bolhar" <bol (AT) adv (DOT) magwien.gv.at> wrote:
Thomas "PointerEars" Lahn:
Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige
Spur
gebracht.
Das wäre tragisch, handelt es sich doch hierbei weder um ein Array,
noch
unterstützten ECMAScript-Implementationen die Datenstruktur
"assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".
Ich halte das nicht für so tragisch, denn obwohl du recht hast,
kommt die Wirkungsweise des Ausdrucks der von assoziativen
Arrays recht nahe. Es gibt sogar JS-Bücher (und das sind IMHO
nicht die schlechtesten), in denen hier von "Keys" die Rede ist,
auch wenn es sich eigentlich um Objektattribute handelt.

Stimmt, mein Flanagan - und genau da hab ichs her.
:P
Flanagan hat ja auch JavaScript nicht wirklich kapiert, geschweige denn
ECMAScript. So erklärt er in seinem Buch `[' und `]' ernsthaft als
Array-Operatoren, wo doch jeder mit einem Minimalclue (spätestens jedoch
nach Lesen dieses Threads) weiss, dass es sich lediglich um
Eigenschaftszugriffsyntax mit eckigen Klammern handelt, die *auch*, aber
keineswegs ausschliesslich, bei Array-Objekten Anwendung finden kann.

Jenes Buch (insbesondere ältere Ausgaben) gehört gleichzeitig zu den
meistempfohlenen und zu den fehlerhaftesten, wovon man sich u.a. bei der
Recherche in comp.lang.javascript überzeugen kann[1]. Mangels besserer
Alternativen (kein kompetenter Regular wird ein Buch schreiben oder die
bestehenden Bücher vollständig korrekturlesen, es sei denn vielleicht er
wird dafür bezahlt), wird die 4. Ausgabe als "das am wenigsten schlechte
Buch (bei hoher Toleranz)" bezeichnet, und es wird dringend geraten, die
Errata zu lesen. Das Problem mit den Errata ist jedoch, dass der Autor
dort nur Korrekturen einfliessen lässt, die er akzeptiert; mangels
ausreichenden Verständnisses für die Sprache auf Autorenseite bleiben
somit zahlreiche berechtigte Korrekturen von Wissenden unberücksichtigt.


PointedEars
___________
[1] <fbfm4v$c10$1$8300dec7 (AT) news (DOT) demon.co.uk>


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

Default Re: Select-Liste durch <input> erweitern - 11-14-2007 , 03:14 PM



Gregor Kofler wrote:
Quote:
Ferry Bolhar meinte:
Thomas "PointerEars" Lahn:
Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige Spur
gebracht.
Das wäre tragisch, handelt es sich doch hierbei weder um ein Array, noch
unterstützten ECMAScript-Implementationen die Datenstruktur "assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".
Ich halte das nicht für so tragisch, denn obwohl du recht hast,
kommt die Wirkungsweise des Ausdrucks der von assoziativen
Arrays recht nahe.

"Recht nahe". Es sind aber keine assoziativen Arrays, und wenn ich diese
"Arrays" wie in anderen Sprachen üblich verarbeiten will, dann stoße ich
sehr schnell auf Probleme
Yep.

Quote:
(der "Array"
(MUSEN: *das* Array.)

Quote:
hat keine Länge,
Bei Objekten, die das HTMLCollection-Interface implementieren, trifft
jedenfalls das nicht zu: es gibt eine length-Eigenschaft, welche die Anzahl
der Elemente in der Collection liefert.

Quote:
ein "for ... in" kann mir noch alles Mögliche liefern, etc.)
Full ACK. Zum "etc. wäre z.B. noch zu erwähnen, dass das Löschen eines
Elements der Collection "mittendrin" automatisch die Veränderung aller
numerischen Indizes der anderen Elemente zur Folge hat, da eine
HTMLCollection "live" ist. Auch dies ist bei assoziativen Arrays nicht
der Fall.


PointedEars
--
ich benutze den Befehl BOQuery, um Daten aus meiner Datenbank zu lesen.
Dieser funktioniert im IE 6 auch meistens. Aber auf manchen Rechnern bei
uns in der Firma funktioniert er nicht. [...] Was muß ich installieren?
(Reiner Wahnsiedler in dcljs <ardkdn$d0q$07$1 (AT) news (DOT) t-online.com>)


Reply With Quote
  #16  
Old   
Ferry Bolhar
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-15-2007 , 03:24 AM



Gregor Kofler:

Quote:
"Recht nahe". Es sind aber keine assoziativen Arrays, und wenn ich diese
"Arrays" wie in anderen Sprachen üblich verarbeiten will, dann stoße ich
sehr schnell auf Probleme (der "Array" hat keine Länge
Ach so? Das "length" Attribut ist nichts?

Quote:
ein "for ... in"
kann mir noch alles Mögliche liefern, etc.)
Was verstehst du unter "alles Mögliche"? Es liefert alle Attribute eines
Objektes, soferne diese nicht als "nicht enumerierbar" gekennzeichnet
sind. Oder habe ich da etwas ve gessen?

Quote:
Es gibt sogar JS-Bücher (und das sind IMHO
nicht die schlechtesten), in denen hier von "Keys" die Rede ist,

Tolle Bücher.
Wenn's das Verständnis fördert?

Quote:
Nein. Jeder der PHP und dessen assoziative Arrays kennt, wird seine
Probleme mit den "assoziativen" Arrays von JS haben - weil vieles, was
er von PHP kennt, in der JS Variante nicht oder jedenfalls deutlich
anders funktioniert.
Noch einmal: es geht nicht um die konkrete Implementierung (die ist
sowieso immer anders), sondern um das grundsätzliche Verständnis.

Es ist mir schon klar, dass ECMA-Script keine assoziativen Arrays
im klassischen Sinne kennt. Aber die grundsätzliche Idee läßt sich
daraus ableiten, insoferne halte ich Vergleiche (wo natürlich auch
auf die Unterschiede hingewiesen wird) für gerechtfertigt und für
das Verständnis über die Wirkungsweise z.B. dieses Ausdrucks

document.forms["foo"].elements["bar"]

sogar für sehr hilfreich.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf (AT) wien (DOT) gv.at




Reply With Quote
  #17  
Old   
Ferry Bolhar
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-15-2007 , 04:26 AM



Thomas 'PointedEars' Lahn:

Quote:
Full ACK. Zum "etc. wäre z.B. noch zu erwähnen, dass das Löschen eines
Elements der Collection "mittendrin" automatisch die Veränderung aller
numerischen Indizes der anderen Elemente zur Folge hat, da eine
HTMLCollection "live" ist. Auch dies ist bei assoziativen Arrays nicht
der Fall.
Das trifft aber nur auf HTML-Collections zu. Zumindest wäre mir neu,
dass in einer "Collection" (um jetzt mal bei diesem Ausdruck zu bleiben)
wie:

var myObject = new Object();
myObject["testa"] = "TestA";
myObject["testb"] = "TestB";

sich irgendein Index ändert, wenn das Element "testa" gelöscht wird.
Das von dir beschriebene Verhalten hat daher mit der ECMA-
Implementierung von Objekten/Collections und Attributen/Elementen
ansich nichts zu tun, sondern ist etwas HTML (DOM)-Spezifisches.

LG, Ferry
--




Reply With Quote
  #18  
Old   
J. Strübig
 
Posts: n/a

Default Re: Select-Liste durch <input> erweitern - 11-15-2007 , 05:23 AM



Ferry Bolhar schrieb:
Quote:
Gregor Kofler:

"Recht nahe". Es sind aber keine assoziativen Arrays, und wenn ich diese
"Arrays" wie in anderen Sprachen üblich verarbeiten will, dann stoße ich
sehr schnell auf Probleme (der "Array" hat keine Länge

Ach so? Das "length" Attribut ist nichts?
Genauer, length ist undefiniert.

Quote:
ein "for ... in"
kann mir noch alles Mögliche liefern, etc.)

Was verstehst du unter "alles Mögliche"? Es liefert alle Attribute eines
Objektes, soferne diese nicht als "nicht enumerierbar" gekennzeichnet
sind. Oder habe ich da etwas ve gessen?
Ja, und Attribute kann alles sein. Während du in einem HASH nur die
Schlüssel siehst. Das wird ein Problem wenn z.b. eines dieser beliebten
JS Frameworks verwendet wird und das den Objetc.prototype erweitert, aus
welchen Gründen auch immer.

Ich hab z.b. so einen Code:

Object.prototype.extendObj = function(source)
{
for (var property in source) this[property] = source[property];
}

var o = {};
o['Eigenschaft'] = 'wert'
for(var a in o) alert(a);

Quote:
Es ist mir schon klar, dass ECMA-Script keine assoziativen Arrays
im klassischen Sinne kennt. Aber die grundsätzliche Idee läßt sich
daraus ableiten, insoferne halte ich Vergleiche (wo natürlich auch
auf die Unterschiede hingewiesen wird) für gerechtfertigt und für
das Verständnis über die Wirkungsweise z.B. dieses Ausdrucks

document.forms["foo"].elements["bar"]

sogar für sehr hilfreich.
Vielleicht muss man hier aus der VB Ecke kommen, um das zu verstehen
ohne von assoziativen Arrays zu sprechen.

Der Ausdruck ist:
document.forms.foo.elements.bar

und das hat für mich nichts mit einem AA oder HASH zu tun, ich sehe
einfach verschachtelte Objekte und finde den Vergleich mit einem AA
nicht hilfreich. Und man merkt es daran, seit z.b. in selfhtml nicht
mehr von einem AA die Rede ist tauchen hier weniger Fragen dazu auf,
weil die Leute nicht mehr die Erwartung haben dass es eines ist. Davor
kam regelmäßig die Frage warum length bei einem AA undefiniert ist.
Insofern ist mein subjektiver Eindruck, auch wegen der Erfahrung in
Foren und hier, dass es eben nicht das Verständniss fördert.

Struppi.


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

Default Re: Select-Liste durch <input> erweitern - 11-15-2007 , 06:11 AM



Gregor Kofler wrote:
Quote:
Ferry Bolhar meinte:
Thomas "PointerEars" Lahn:
Aaah, jetzt schnackelts. Danke.
"Assoziatives Array" und "Key" hätten mich bereits auf die richtige Spur
gebracht.
Das wäre tragisch, handelt es sich doch hierbei weder um ein Array, noch
unterstützten ECMAScript-Implementationen die Datenstruktur "assoziatives
Array" nativ. "foo" und "bar" sind folglich auch keine "Keys".
Ich halte das nicht für so tragisch, denn obwohl du recht hast,
kommt die Wirkungsweise des Ausdrucks der von assoziativen
Arrays recht nahe.

"Recht nahe". Es sind aber keine assoziativen Arrays, und wenn ich diese
"Arrays" wie in anderen Sprachen üblich verarbeiten will, dann stoße ich
sehr schnell auf Probleme
Yep.

Quote:
(der "Array"
(MUSEN: *das* Array.)

Quote:
hat keine Länge,
Bei Objekten, die das HTMLCollection-Interface implementieren, trifft
jedenfalls das nicht zu: es gibt eine length-Eigenschaft, welche die Anzahl
der Elemente in der Collection liefert.

Quote:
ein "for ... in" kann mir noch alles Mögliche liefern, etc.)
Full ACK. Zum "etc." wäre z.B. noch zu erwähnen, dass das Löschen eines
Elements der Collection "mittendrin" automatisch die Veränderung aller
numerischen Indizes der anderen Elemente zur Folge hat, da eine
HTMLCollection "live" ist. Auch dies ist bei assoziativen Arrays nicht
der Fall.


PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann


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

Default Re: Select-Liste durch <input> erweitern - 11-15-2007 , 06:17 AM



J. Strübig wrote:
Quote:
Ferry Bolhar schrieb:
Gregor Kofler:
"Recht nahe". Es sind aber keine assoziativen Arrays, und wenn ich diese
"Arrays" wie in anderen Sprachen üblich verarbeiten will, dann stoße ich
sehr schnell auf Probleme (der "Array" hat keine Länge
Ach so? Das "length" Attribut ist nichts?

Genauer, length ist undefiniert.
Jedoch nicht bei Objekten, die HTMLCollection implementieren.

Quote:
ich sehe einfach verschachtelte Objekte [...]
Naja, "verschachtelte Objekte" ist dann auch wieder übersimplifiziert.

Quote:
Insofern ist mein subjektiver Eindruck, auch wegen der Erfahrung in
Foren und hier, dass [die Bezeichnung "assoziatives Array" für Objekte]
eben nicht das Verständniss fördert.
Full ACK


PointedEars


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.