JavaScript Frage zu AJAX und PHP

epic

De Puta Brot :D
ID: 49135
L
1 Mai 2006
155
3
Ich lade auf meiner Website PHP-Files mit AJAX nach in einen bestimmten DIV-Container - das laden funktioniert einwandfrei.

Jedoch steht in der geladenen PHP File ein Verweis auf eine externe Javascript Datei, welche die Input-Felder und Submit Buttons stylt - diese Formatierung wird leider nicht mitübernommen.

Hat jemand bitte einen Vorschlag?

--> Menü
HTML:
<td><img src="../images/icons/Dokumenteorange.png" height="32px" width="32px" /></td><td align="left"><a href="javascript:persoenlich();">Persönlicher Bereich</a></td>


--> Funktion zum laden
Code:
function persoenlich()
{
        resobjekt.open('get','profil.php?',true);        
        resobjekt.onreadystatechange = handleResponse2;
        resobjekt.send(null);
             
    
}
 
Ich fuerchte da musst du den event handler rausparsen, dann einen listener registrieren und dann beim event den event handler ausfuehren. Ist leider etwas tricky.

Wenn du das in ein <script>-tag auslagern koenntest wird's etwas leichter weil dann musst du nur noch folgendes nach dem laden tun:

Code:
var js = document.getElementsByTagName("script");
for(var i in js){
  eval(js[i]);
}
(Angaben ohne gewaehr)
Aber vorsicht mit was eval'd wird, das koennte eventuell zu grossen sicherheitsluecken fuehren :D
 
JavaScript Code wird bei der geladenen Datei nicht ausgeführt.
Da musst du schon einen entsprechenden Handler schreiben, der diesen Filtert und ausführt (per eval(); wie Snyke bereits schrieb).
Bei Google findet man teilweise passende Codeschnipsel mit einem schönen RegEx Pattern zum Suchen und Selektieren oder alternativ nutzt man direkt ein entsprechendes JavaScript Framework, was das automatisch macht.
 
Lass den Quatsch mit den Inline-Eventhandlern ;)

Zauberworte: Unobstrusive JavaScript und Event Delegation. Dann kannst du dir das Parsen der AJAX-Response sparen und du brauchst auch kein eval().

Greetz

paddya