Was gibt Dir denn ein:
aus?Code:alert (drag);
Hallo Ihr Lieben.
Ich habe folgenden Code:
var forAusdruck=/(.{1,21})[0-9]{1,4})\|([0-9]{1,4})/g;
//$1 //$2 //$3
var myErg= erg[i].match(forAusdruck);
if(myErg)
{
var drag = RegExp.$1;
var le= RegExp.$2;
var to = RegExp.$3;
document.getElementsByName(drag).style.position="absolute";
document.getElementsByName(drag).style.left =le+"px";
document.getElementsByName(drag).style.top= to+"px";
Bitte nicht auf nicht passende geschweifte Klammern rumkachen, hab einfach mal das wichtigeste reinkopiert.
Also ich habe in der Funktion GetElementsByName die ermittelte Variable.
Das entsprechende DOM Element mit diesem Namen existiert.
Es geht darum, daß der Browser (FF) die Variable nicht erkennt, bzw. nicht den Inhalt ausgibt, sondern meint, daß er drag nicht kennt.
Konkret:
Wie schaffe ich es denn, daß statt drag der Inhalt dieser Variablen genommen wird?Fehler: document.getElementsByName(drag).style is undefined
______________________________
Was gibt Dir denn ein:
aus?Code:alert (drag);
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Das gibt mir den korrekt ermittelten Namen aus.
______________________________
Ok, meine nicht-mitdenk-Fehler.
Du benutzt getElementsByName, was ein Array zurückgibt. D.h. Du musst mit sowas wie
arbeiten.Code:document.getElementsByName(drag)[0].style.position
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Ja, in der Tat so geht es.
Du hast Recht, es ist ein Array und ich muss natürlich den Index angeben.
Ich hatte mich darauf festgebissen, daß ich die Variable noch irgendwie in nen String umwandeln muss oder ähnliches.
Vielen Dank für die Hilfe an einem düsteren Montag morgen.
______________________________
Nein, hat leider nichts gebracht:Fehler: document.getElementsByName(drag)[0] is undefined
______________________________
hmm .. müssten da nicht anführungszeichen hin? .. ich kenn das nur mit getElementsByName("Name") .. vielleicht muss man die um die variable noch drumrum bauen ..?
edit: oder wird die variable bereits passend mit Anführungszeichen gefüllt ..? .. wahrscheinlich .. und mit dem Fehler hat das vermutlich eh nichts zu tun .. ach, ignorier mich einfach, ist nicht mein Tag![]()
Geändert von wildmieze (26.10.2009 um 13:46 Uhr)
Ein bisschen mehr Quelltext wäre hilfreich. Anscheinend hast Du kein Element mit diesem Namen, aber das sind nur Vermutungen.
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Ok dann werde ich mal schauen, ob das Element tatsächlich existiert. Ich meine schon.
Bin schon dabei...dauert noch ne Weile.
______________________________
Also es hat gestern nun funktioniert.
Es lag daran, daß die per Regulärem Ausdruck ermittelten Strings teilweise fehlerhaft waren und somit das Element mit dem entsprechenden Namen nicht existierte.
Also im Firefox funktioniert es einwandfrei.
Jetzt habe ich es mit dem Internet Explorer 7 versucht und bekam nen schieren Schock:
Mit exakt demselben Code funktionierts im FF sehr gut, nur im IE wieder nicht.
Meldung: 'document.getElementsByName(...).0.style' ist Null oder kein Objekt
Zeile: 211
Zeichen: 8
Code: 0
Kann sich das jemand erklären?
______________________________
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Hat noch wer eine Idee?
______________________________
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)