Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Kleines Problem mit Übergabe von Variablen

Mitglied: kami-kaTze

kami-kaTze (Level 1) - Jetzt verbinden

18.02.2010, aktualisiert 10:29 Uhr, 5311 Aufrufe, 7 Kommentare

Hallo,
ich habe mir ein kleines Script gebaut mit welchem ich Web2.0 like Inhalte in DIVs laden kann. Leider habe ich an einer Stelle ein Problem und bin mir unsicher warum dieses auftritt. Aber seht selbst:

Funktionierende Version meines Scripts:

Aufruf durch:
01.
onclick="getcontent('content_offen.php');">
Code:
01.
function getHTTPObject() 
02.
03.
                var xmlhttp; 
04.
                if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
05.
06.
                               try 
07.
08.
                                               xmlhttp = new XMLHttpRequest(); 
09.
10.
                               catch (e) 
11.
12.
                                               xmlhttp = false; 
13.
14.
15.
                return xmlhttp; 
16.
17.
                var http = getHTTPObject(); // We create the HTTP Object 
18.
function getcontent(url) 
19.
20.
                http.open("GET", url, true); 
21.
                http.onreadystatechange = handleHttpResponse; 
22.
                http.send(null); 
23.
24.
function handleHttpResponse() 
25.
26.
                var target = 'content'; 
27.
                if (http.readyState == 4) 
28.
29.
                               if (http.responseText == undefined) 
30.
31.
                                               document.getElementById(target).innerHTML = ''; 
32.
33.
                               else 
34.
35.
                                               document.getElementById(target).innerHTML = http.responseText; 
36.
37.
38.
                }
Nun möchte ich aber auch die ID des zu füllenden DIVs gleich im Aufruf mitgeben:

Also Aufruf durch:
01.
onclick="getcontent('content_offen.php'##red|,'content'##);">
Code:
01.
function getHTTPObject() 
02.
03.
                var xmlhttp; 
04.
                if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
05.
06.
                               try 
07.
08.
                                               xmlhttp = new XMLHttpRequest(); 
09.
10.
                               catch (e) 
11.
12.
                                               xmlhttp = false; 
13.
14.
15.
                return xmlhttp; 
16.
17.
                var http = getHTTPObject(); // We create the HTTP Object 
18.
function getcontent(url,target) 
19.
20.
                http.open("GET", url, true); 
21.
                http.onreadystatechange = handleHttpResponse(target); 
22.
                http.send(null); 
23.
24.
function handleHttpResponse(target) 
25.
26.
                if (http.readyState == 4) 
27.
28.
                               if (http.responseText == undefined) 
29.
30.
                                               document.getElementById(target).innerHTML = ''; 
31.
32.
                               else 
33.
34.
                                               document.getElementById(target).innerHTML = http.responseText; 
35.
36.
37.
                }
Das Problem liegt in Zeile 21. Hier ist es scheinbar nicht möglich meiner Funktion "handleHttpResponse" eine Variabele mitzugeben.
Ich hoffe ihr könnt mir helfen.

Grüße aus Hannover
kami
Mitglied: Snowman25
18.02.2010 um 09:55 Uhr
Bei der Formatierung weigere ich mich, den Text auch nur durchzulesen...
Ausserdem: ist onreadystatechange nicht ein event?
Events kannst du doch keinen Rückgabewert aus einem Funktionsaufruf zuweisen.

€dit:
Ausserdem kannst du mal hier schauen.
Bitte warten ..
Mitglied: nxclass
18.02.2010 um 10:09 Uhr
... dann lass Dir mal target in der Funktion handleHttpResponse mit alert() ausgeben.
Allgemein glaube ich das Du mal paar Ausgaben einbauen solltest (oder anderweitig dein Code debugst ( https://addons.mozilla.org/de/firefox/addon/1843 )

btw. Bitte auf die Darstellung achten bevor Du deinen Code abschickst.

Events kannst du doch keinen Rückgabewert aus einem Funktionsaufruf zuweisen
... ist schon OK so - wenn das Event auftritt wird die zugewiesene Funktion aufgerufen.
Bitte warten ..
Mitglied: kami-kaTze
18.02.2010 um 10:23 Uhr
Habe die Darstellung gefixt ^.^

Ausserdem habe ich mitlerweile einen Weg gefunden das Problem zu lösen:
Und zwar sieht die problematische Zeile nun wie folgt aus:

01.
http.onreadystatechange = new Function('target','handleHttpResponse("'+target+'")');
Vieleicht kann mir jemand erklären wofür in diesem Teil des Codes die erste variabele (target) gut ist.

Edit: Alles in allem ein wenig seltsam das dies Funktioniert da ich ja quasi die Funktion ein weiteres mal anlege oder nicht?
Edit2: Ich hatte mir schon alerts eingebaut. Allerdings hat mir das target von handleHttpResponse (undifined) zurückgegeben. Wenn ich allerdings direkt über Zeile 21 einen altert von target mache bekam ich den korrekten Wert.

Grüße
Bitte warten ..
Mitglied: nxclass
18.02.2010 um 10:33 Uhr
schau mal da: http://de.selfhtml.org/javascript/objekte/function.htm

01.
http.onreadystatechange = function(target) 
02.
03.
  if (http.readyState == 4) { 
04.
    if (http.responseText == undefined) { 
05.
      document.getElementById(target).innerHTML = ''; 
06.
    } else { 
07.
      document.getElementById(target).innerHTML = http.responseText; 
08.
09.
10.
}
Bitte warten ..
Mitglied: kami-kaTze
18.02.2010 um 10:37 Uhr
Habe ich schon,
ich verstehe allerdings nicht warum das funktioniert. Da ich in meinem Workaround ja zwei mal die Funktion handleHttpResponse erstelle..

Grüße
Bitte warten ..
Mitglied: nxclass
18.02.2010 um 10:43 Uhr
s. mein letzter Beitrag.
Dazu fehlen Dir wohl noch etwas Kenntnisse zur Objekt Orientierten Programmierung in Javascript.

Du hattest die Funktion aufgerufen ... so wird die Funktion zugewiesen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Übergabe der Variablen bei Call funktioniert nicht

gelöst Frage von SupidoBatch & Shell2 Kommentare

Hallo, ich komme mit menem untenstehnden Code nicht weiter. In :install bekomme ich nicht die richtigen Variablen ("%Pathdriver%" "%Printername%") ...

JavaScript

Übergabe einer php-Variable an JS

Frage von Rabauke84JavaScript1 Kommentar

Hallo zusammen, ich hab eine Problem mit einer Übergabe einer Variable in php an JS. Dazu hab ich ein ...

Batch & Shell

Powershell - übergabe von Variablen

gelöst Frage von complexBatch & Shell7 Kommentare

Moin zusammen! ich habe ein kleines Problem mit der Übergabe von Variablen (Achtung bin Powershell-Neuling) Ich möchte eine Read-Host ...

Batch & Shell

Powershell Übergabe von Variablen zwischen verschiedenen Skripten

gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Hallo, folgende Thematik habe ich gerade. Ich habe ein Skript. In diesem habe ich eine Variable, die ich global ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 8 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 8 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Viren und Trojaner
Neue Avira Management Console Egosecure
Information von OSelbeck vor 1 TagViren und Trojaner1 Kommentar

Hallöchen zusammen, ich weiß nicht, wer von euch noch Avira einsetzt Wir haben ein paar Kunden Avira hatte ja ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
Frage von YellowcakeExchange Server16 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server12 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...