Suchen
Inside Forum
Nützliche Links
phpforum.de Tipp
 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > andere (Programmier-)Sprachen > JavaScript

JavaScript Alles rund um JavaScript, Ajax und die diversen JS-Frameworks.

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.02.2009, 00:32
Creator Creator ist offline
Engagierter Besucher
 
Registriert seit: 30.11.2005
Beiträge: 1.240
Creator eine Nachricht über ICQ schicken
Standard JS ausführen nach AJAX Request

Abend,

ich habe einen Ajax Request der mir suchergebnisse liefert.

Jetzt möcht ich hier wieder JS ausführen. Und zwar möchte ich elemente mit maus aus diesem nach geladenen Content bewegen/ziehen können.

Code:
function AutoSearch(callThisFunction,lbPage,lbAction,additionalParams, search_string){
 var url = 'ajax.php';
 var pars = 'page='+lbPage+'&action='+lbAction;
 pars+=(additionalParams)?'&'+additionalParams:'';
 url+='?'+pars;
 var myAjax = new Ajax.Request(
  url,
  {
   method: 'get',
   onComplete: window[callThisFunction],
   evalScripts: true // Laut der doku von Prototype
  });
}

function showResult(ResponseObjekt){
  var content = ResponseObjekt.responseText;
  $('content').innerHTML = content;
}

Im nachgeladenen Content steht dann als Beispiel:

Code:
<div id='bewegmich'>Beweg mich :)</div>    

<script type='text/javascript'>

new Draggable('bewegmich',{revert: true});
</script>

Ich hatte schon versucht new Draggable('bewegmich',{revert: true}); in showResult aus zu führen, leider hat dies aber nicht funktioniert.

Was muss ich genau machen, damit JS in einem nachgeladenen Content wieder ausgeführt wird?
__________________
Bitte keine Hilfe anfragen über ICQ oder Mail
Außer ich wünsche dieses!

Geändert von Creator (24.02.2009 um 00:34 Uhr)
Mit Zitat antworten
  #2  
Alt 24.02.2009, 08:54
Ad aCTa Ad aCTa ist offline
Vorbildlicher Helfer
 
Registriert seit: 27.06.2008
Beiträge: 1.813
Ad aCTa eine Nachricht über MSN schicken Ad aCTa eine Nachricht über Skype™ schicken
Standard AW: JS ausführen nach AJAX Request

Na eval()!
__________________
Mind the gap.
Mit Zitat antworten
  #3  
Alt 24.02.2009, 11:57
Creator Creator ist offline
Engagierter Besucher
 
Registriert seit: 30.11.2005
Beiträge: 1.240
Creator eine Nachricht über ICQ schicken
Standard AW: JS ausführen nach AJAX Request

Ok aber wie meinst du das?

Ich dachte für sowas gibt es onComplete ?

Allerdings funktioniert es nicht wenn ich den code aufrufe, ich vermute mal, weil es das element mit der id bewegmich noch garnicht gibt.

Irgendwie stehe ich auf dem schlauch.
__________________
Bitte keine Hilfe anfragen über ICQ oder Mail
Außer ich wünsche dieses!
Mit Zitat antworten
  #4  
Alt 24.02.2009, 19:50
Ad aCTa Ad aCTa ist offline
Vorbildlicher Helfer
 
Registriert seit: 27.06.2008
Beiträge: 1.813
Ad aCTa eine Nachricht über MSN schicken Ad aCTa eine Nachricht über Skype™ schicken
Standard AW: JS ausführen nach AJAX Request

Ach, immer diese dummen Frameworks... Man sollte erst etwas begriffen haben, bevor man es sich leichter macht, sonst ist das nur Pfusch, auch bei AJAX!
Der XMLHttpRequest sendet Strings(!) zurück zum Browser, wieso sollte ein String mit dem Inhalt "alert('Hallo!');" für JS interessant sein? Allerdings ist ein eval("alert('hallo'');"); schon eher das, wonach du suchst.

>> evalScripts: true // Laut der doku von Prototype

Das wundert mich allerdings a bissl... Probier mal Debuggen. Fehlerkonsole? Was steht im Quelltext?
__________________
Mind the gap.
Mit Zitat antworten
  #5  
Alt 24.02.2009, 21:52
Creator Creator ist offline
Engagierter Besucher
 
Registriert seit: 30.11.2005
Beiträge: 1.240
Creator eine Nachricht über ICQ schicken
Standard AW: JS ausführen nach AJAX Request

Sehr Interessant, aber es führt nicht zum erfolg.

Mal ein Beispiel:

Folgender Code wurde per Ajax nachgeladen.
Code:
TEST
<script type='text/javascript'>
eval("alert('hallo');");
</script>

Und er wird nicht ausgeführt. Laut firebug steht er im quelltext.
Es gibt keine Fehlermeldung.
"TEST" wird auch ausgegeben.

Führe ich die suche per Button aus ohne JS also ein ganz normaler Request wird js ausgeführt.
__________________
Bitte keine Hilfe anfragen über ICQ oder Mail
Außer ich wünsche dieses!
Mit Zitat antworten
  #6  
Alt 25.02.2009, 11:39
Ad aCTa Ad aCTa ist offline
Vorbildlicher Helfer
 
Registriert seit: 27.06.2008
Beiträge: 1.813
Ad aCTa eine Nachricht über MSN schicken Ad aCTa eine Nachricht über Skype™ schicken
Standard AW: JS ausführen nach AJAX Request

Du hast's immernoch nicht...
Jetzt ist doch eval() selber auch ein String! Wie heißt deine Response-Variable?
Code:
<script>
var response = "alert('Hallo!');";
eval(response);
</script>

Doch bedenke: der gesamte Inhalt wird von JS jetzt ausgeführt (oder versucht ausgeführt zu werden), da darf kein HTML o.ä. drin sein! Wenn doch, dann solltest du das ganz schnell vergessen und das JS auslagern und inkludieren. String + Code vertragen sich im eval nicht.
__________________
Mind the gap.
Mit Zitat antworten
  #7  
Alt 25.02.2009, 12:09
Creator Creator ist offline
Engagierter Besucher
 
Registriert seit: 30.11.2005
Beiträge: 1.240
Creator eine Nachricht über ICQ schicken
Standard AW: JS ausführen nach AJAX Request

nach ewigen Dokulesen und testen, habe ich folgendes rausgefunden.

Wenn ich was Nachladen per AJAX und es steht HTML und JS drinne, wird es einfach nicht ausgeführt.

Entferne ich Komplett HTML und sende den passenden Content-Type Beispiel: text/javascript. Dann wird auch JS ausgeführt.

Und das alles genau aus diesem Grunde den du genannt hast.
Zitat:
String + Code vertragen sich im eval nicht.
Weil Prototype den ganzen String also auch HTML durch eval jagt. Daher geht meine gedanke so nicht und ich muss mir was anderes einfall lassen.

Aber danke für die Hilfe.

Solltest du eine Idee haben, wie ich aus dem Responce alle ids auslesen kann, wäre super.

Also im Responce steht als beispiel sowas:
HTML Quellcode:
<div id='3535'><img src.... /></div>
<div id='35662'><img src.... /></div>
<div id='46542><img src.... /></div>
<div id='9784'><img src.... /></div>
<div id='75345'><img src.... /></div>

Für jede id muss ich einmal
Code:
new Draggable('id',{revert: true});

ausführen.

Das wollte ich eigentlich mit PHP machen, weil das Praktische gewesen wäre. Jetzt muss ich das halt 2 mal machen einmal für einen Normalen Request und einmal Für Ajax
__________________
Bitte keine Hilfe anfragen über ICQ oder Mail
Außer ich wünsche dieses!
Mit Zitat antworten
  #8  
Alt 10.03.2009, 15:27
genji3000 genji3000 ist offline
Neuer Besucher
 
Registriert seit: 11.09.2008
Beiträge: 23
Standard AW: JS ausführen nach AJAX Request

Hallo,

endlich habe ich jemanden gefunden, der das gleiche Problem hat

Ich habe ein Dropdown menü mit Bildernamen. Die Bilder dazu werden in einem Div auf der gleichen Seite angezeigt. So weit so gut. Die Bilder haben noch eine Lupenfunktion (mojomagnify). Beim ersten AUfruf der Seite funktioniert es. Wenn ich das Bild per Dropdown Menu ändere wird auch das neue Bild angezeigt, nur leider ohne Lupenpunktion.

Inzwischen habe ich rausgefunden, das das JS in dem Request den ich per JS übergebe nicht ausgeführt wird. Wie kann ich es schaffen, dass
PHP Quellcode:
<img src="images/image_low.png" data-magnifysrc="images/image_high.png" id="myimage" />
nach dem Request ausgeführt wird?
Mit Zitat antworten
  #9  
Alt 21.05.2009, 09:39
Krassus99 Krassus99 ist offline
Neuer Besucher
 
Registriert seit: 21.05.2009
Beiträge: 5
Standard AW: JS ausführen nach AJAX Request

Ahhh, schaut mal hier in meinen Thread nach.
Ich denke, dass ich mit diesem "eval" weiterkommen würde, da ich ja die Swfobject.js laden muss.

Aber ich finde keinerlei Beschreibung hierzu, wie "ich" dieses "eval" wo einbauen muss.

Wer kann mir dabei weiterhelfen?
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery Ajax Request vs. Lightbox Babelduo JavaScript 2 15.10.2008 14:24
Base-Tag und Ajax-Request Freakz JavaScript 0 17.09.2008 22:34
Ajax Request in MooTools-Klasse Rancho JavaScript 1 19.02.2008 11:40
Problem mit Ajax.Request David555 JavaScript 2 13.12.2007 13:55
AJAX request jlindenbaum JavaScript 12 18.07.2007 00:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC