problem mit zuweisung von wert, eval()
Robbe
- javascript
Hallo nochmal,
Noch ein problemchen:
Ich versuche innerhalb einer funktion die per id-parameter aufgerufen wird, eine globale variable zu verändern. Der Parameter is nur ne zahl, die funktion kombiniert die id so das es wieder ein ansprechbares Objekt wird, allerdings kann ich diese nich ändern. Is das normal :P? Bzw. wenn nein kann man sowas anderweit mit js lösen?
code>>
function LNK_setorder(id)
{
setvar = eval("LNKGRP_"+id);
if (setvar==0) { setvar=1; setdsp = "inline"; }
else { setvar=0; setdsp = "none"; }
document.getElementById("LNKIDXspO_"+id).style.display = setdsp;
document.getElementById("LNKIDXspO_"+id).style.display = setdsp;
document.getElementById("LNKIDX_"+id).style.display = setdsp;
}
<<code
mfg, Robbe.
hi,
function LNK_setorder(id)
{
setvar = eval("LNKGRP_"+id);
eval is evil - und überhaupt, wofür glaubst du das hier zu brauchen?
if (setvar==0) { setvar=1; setdsp = "inline"; }
und warum glaubst du, sollte "LNKGRP_"+id (wird wohl einen string ergeben) gleich 0 werden, selbst wenn du eval() darauf anwendest?
Bzw. wenn nein kann man sowas anderweit mit js lösen?
wadde hadde du denn da eigentlich vor?
gruss,
wahsaga
hallo wahsaga,
Ich brauche es um diese variable zu ändern, ich vergass die mit oben zu erwähnen im code. Die Anweisung setvar = eval("LNKGRP_"+id); setzt das aus dem String und der id das Objekt bzw. nur den Wert?
Also im self steht:
" ...Wenn das übergebene Argument als Objekt oder Objekteigenschaft interpretiert werden kann, wird das Objekt bzw. die Objekteigenschaft zurückgegeben. Dies ist wichtig, wenn eine Zeichenkette (z.B. ein Formularfeldinhalt oder ein einer Funktion übergebener Parameter) als Objekt interpretiert werden soll.
Erzeugt eine Fehlermeldung, wenn der übergebene Ausdruck nicht interpretierbar ist ..."
Es steht aber nich das man das Objekt dann nich ändern kann. Deswegen mein versuch mit dieser funktion, wäre eigentlich schön einfach :P, oder denke ich da bisschen verkehrt?
Auf jeden Fall soll diese variable dann gesetzt werden mit setvar = val; Es kommt keine Fehlermeldung aber auch keine Änderung.
Dat mach i nur falsch :P
cu, RObbe.
Willst Du den Wert einer Variablen mit Namen "LNKGRP_"+id ändern? Da Variablen in JS Properties des window Objektes sind sollte das so gehen:
window["LNKGRP_"+id] = NeuerWert;
Hallo nochmal,
Noch ein problemchen:
Ich versuche innerhalb einer funktion die per id-parameter aufgerufen wird, eine globale variable zu verändern. Der Parameter is nur ne zahl, die funktion kombiniert die id so das es wieder ein ansprechbares Objekt wird, allerdings kann ich diese nich ändern. Is das normal :P? Bzw. wenn nein kann man sowas anderweit mit js lösen?
code>>
function LNK_setorder(id)
{
setvar = eval("LNKGRP_"+id);if (setvar==0) { setvar=1; setdsp = "inline"; }
else { setvar=0; setdsp = "none"; }document.getElementById("LNKIDXspO_"+id).style.display = setdsp;
document.getElementById("LNKIDXspO_"+id).style.display = setdsp;
document.getElementById("LNKIDX_"+id).style.display = setdsp;
}
<<codemfg, Robbe.