Tim Tepaße: Check Box

Beitrag lesen

Hallo Gerold,

ach Gottchen..

http://selfhtml.teamone.de/javascript/objekte/elements.htm#checked
Ich kenne auch diesen Inhalt. Aber ich brauche einen andere Information!!!!!

Nicht wirklich. Aber ich kann Dir gerne noch zusätzliche Informationen
geben, wenn Du willst.

document.Form.box[i].checked = "true"

Fangen wir noch mal da an, worauf Cheatah Dich und Mark hinweisen wollte.
Als jemand, der auch Erfahrungen mit Java hat, solltest Du Dich mit
Datentypen auskennen. Zugegeben, Javascript ist etwas schwammig, aber
es gibt so etwas wie eine Faustregel, die in SELFHTML beschrieben ist:

"Es gibt numerische Variablen und Variablen für Zeichen bzw.
   Zeichenketten. Im obigen Beispiel sind die Variablen SinnDesLebens, i und
   x numerische Variablen. Die Variablen Hinweis und Satzteil sind dagegen
   Zeichenkettenvariablen. Dies ist daran erkennbar, dass der ihnen
   zugewiesene Wert, ein Text, in Anführungszeichen gesetzt wird. Sie
   könnten z.B. eine Variable Nummer = 1; und eine Variable Zeichen = "1";
   definieren. Der Unterschied ist, dass Sie mit der Variablen Nummer
   Rechenoperationen anstellen können, mit der Variablen Zeichen nicht.
   Dafür können Sie mit Zeichenkettenvariablen Zeichenkettenoperationen
   durchführen, etwa das Extrahieren einer Teilzeichenkette, was mit
   numerischen Variablen nicht möglich ist."
   (http://selfhtml.teamone.de/javascript/sprache/variablen.htm#definieren

Und jetzt gucken wir uns nochmal meinen obigen Link an, den Du zwar schon
gelesen und verinnerlicht hast; wir gucken trotzdem noch mal.

http://selfhtml.teamone.de/javascript/objekte/elements.htm#checked

Was steht da? Folgendes:

"Mögliche Werte sind true bzw. 1 oder false bzw. 0."

Worauf läßt das schließen? Genau, auf eine Variable vom Typ Boolean. Das
sind die Variablen, die nur Ja oder Nein als Wert annehmen können. 0 oder 1.
Genau deswegen heißen sie ja Boolsche Variablen, weil ihr Wertebereich aus
dem der Boolschen Algebra stammt. Es sind also nun numerische Werte, keine
Zeichenketten.

Wenn Du SELFHTML nicht glaubst und das tust Du anscheinend nicht, dann
kannst Du Dich gerne auch im Standard vergewissern. Ich habe die betreffende
Stelle gleich rausgesucht.

http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-30233917

In Javascript bzw. Ecmascript kann man Boolsche Variablen auf verschiedene
Weise einen Wert zuweisen, am gebräuchlisten ist jedoch genau die Variante,
die auch in den meisten mir bekannten Programmiersprachen existiert, die
Zuweisung von den Werten true oder false.

So, was ist jetzt Dein Problem? Du versuchst nun krampfhaft einer Boolschen
Variable einen Zeichenkettenwert zuzuweisen. Einfach, weil Du Dich auf
das "true" fixiert hast, obwohl Du darauf hingewiesen wurdest, daß das
keine Boolsche Variable ist, sondern ein String. Laß die Anführungszeichen
(die ja eigentlich Zollzeichen sind) weg, und es geht besser. Sowohl Dir,
als auch uns.

Konkret:
Um eine Radiobox, die Du egal wie ansprichst, zu aktivieren schreibst Du
...box.checked = true;
und um sie wieder zu deaktivieren schreibst Du
... box.checked = false;

Und ich brauche jetzt erstmal einen Kaffee und eine Zigarette.

  • Tim
--
tft-bm: Boolsche Variablen in Javascript