Objektübergabe an Funktion
Mathias
- javascript
Hallo,
ich hoffe, Ihr könnt mir weiterhelfen. Ich weiß nicht, wie man ein Objekt per "document.write(..." an eine Funktion übergibt. Müsste man das Objekt zuvor in einen String umwandeln ?
einfaches Beispiel:
function Ausgeben(Objekt){
...
document.write('<td align=left onclick="javascript: FarbeAnzeigen('+Objekt+')">');
...
}
function FarbeAnzeigen(Objekt)
{
alert(Objekt.Farbe);
}
...
...
Auto.Farbe="blau";
Ausgeben(Auto);
...
Danke und Gruß
Mathias
ich hoffe, Ihr könnt mir weiterhelfen. Ich weiß nicht, wie man ein Objekt per "document.write(..." an eine Funktion übergibt.
Sowie du write in einer geladenen Seite anwendest wird die Seite gelöscht und stattdessen das neu geschriebene angezeigt. Damit sind aber auch alle Funktionen gelöscht und etwas an sie übergeben geht mithin nicht mehr.
Um konstruktive Ratschläge zu erhalten müsstest du evtl. Sinn und Zweck des ganzen sowie deinen Lösungsansatz etwas ausführlicher darstellen.
document.write('<td align=left onclick="javascript: FarbeAnzeigen('+Objekt+')">');
Ein Objekt kann man nicht einfach zu einem String "addieren". Es müsste klappen mit
document.write('<td align=left onclick="javascript: FarbeAnzeigen(Objekt)">');
aber nur, wenn "Objekt" vorher per JavaScript als Objekt definiert wurde, und auch dann nur, wenn der ganze Code vor dem End-Tag </body> ausgeführt wird, ansonsten passiert das, was schon geantwortet wurde: Der ganze Inhalt des body geht verloren.
Don P
donp: Genauso hatte ich mir das vogestellt.
Das Problem ist jedoch, dass ich ein Objekt habe, das auf ein anderes Objekt zeigt. Wie kann ich das übergebene Objekt mit document.write ansprechen ?
Hi,
donp: Genauso hatte ich mir das vogestellt.
Das Problem ist jedoch, dass ich ein Objekt habe, das auf ein anderes Objekt zeigt. Wie kann ich das übergebene Objekt mit document.write ansprechen ?
Es müsste klappen, wenn du statt dem Objekt Auto einen String mit dem Namen des Objekts an die Funktion Ausgeben übergibst:
Ausgeben('Auto');
Das klappt natürlich nur dann, wenn das Objekt Auto global existiert.
Noch was:
onclick="javascript: FarbeAnzeigen('+Objekt+')"
Hier solltest du das "javascript:" weglassen, da der Browser bei dem Event-Handler onclick eh ein Script erwartet.
mfG,
steckl
donp: Genauso hatte ich mir das vogestellt.
Das Problem ist jedoch, dass ich ein Objekt habe, das auf ein anderes Objekt zeigt. Wie kann ich das übergebene Objekt mit document.write ansprechen ?
Wie meinst du das "das auf ein anderes Objekt zeigt"? Hat es seine Eigenschaften vom anderen Objekt prototypisch geerbt? Dann ist es kein Problem: Eigenschaften, die es nicht selbst hat, werden automatisch vom anderen Objekt geliefert.
Wenn es keine geerbten Eigenschaften sind, weiss ich nicht was du meinst. Da müsstest du mehr Code bringen.