javascript XMLHttpRequest-Objekt öffnen, php-Datei und führen Sie mehrere javascript

Ich habe einen Haupt-Seite, nennen Sie es Main.php. Auf dieser Seite ist eine Schaltfläche, wenn darauf geklickt wird, setzt DIVS innerHTML (schon auf Main.php genannt divResults) mit den Ergebnissen aus Results.php.

Wenn Results.php aufgerufen wird, der zurückgegebene HTML - "Diese Sind Die Ergebnisse", ist richtig empfangen und festlegen, wie der Inhalt zu divResults auf Main.php. Jedoch, beliebigen javascript-Code aus Results.php ist nicht ausgeführt. Als Beispiel habe ich versucht zu tun, ein einfaches Fenster.alert. Hier ist der Beispiel-code:

Main.php link-Taste startet die Aktion:

<img src="$MyImageSource" onclick=\"ExpandDropdownDiv()\" />

Main.php javascript-Funktion ExpandDropdownDiv():

function ExpandDropdownDiv(){

    if (window.XMLHttpRequest)/* code for IE7+, Firefox, Chrome, Opera, Safari */
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {/* code for IE6, IE5 */
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4)/* && xmlhttp.status==200) */
        {
            document.getElementById("divResults").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","Results.php",true);
    xmlhttp.send();

}

Results.php code-Beispiel:

<script type="text/javascript">
    alert("Success");
</script>
These Are The Results

------------------ Edit - Update ------------------

Die einfache Warnung, aus Results.php ist nur ein Beispiel. Wenn ich in der Lage, diese zu arbeiten, ich glaube, ich könnte lösen, der rest von meinem problem, auf meiner eigenen. Jedoch, ich bemerkte ein paar Kommentare, die darauf hindeutet, mal eben die Warnung im Main.php's javascript-Code nach dem ich die DIVS innerHTML. Also, lassen Sie mich erklären, was ich wirklich will, zu tun mit dem javascript-Code, nach dem div gesetzt ist.

Bild 1, zeigt einige normale "Wählen Sie" html-Elemente umgewandelt wurden mit Hilfe von jquery und der dropdown-check-list-Erweiterung (.js). Wenn der Benutzer klickt auf den bunten Pfeil nach unten am unteren Rand der div sich erweitert, (Bild 2) und zwei oder mehr "Select" - Elementen generiert werden, die innerhalb dieses anderen .php-Datei... der html-Code wird zurückgegeben, und in den div. So, ich muss nicht Neuladen der gesamten Seite und können die neue select-dropdowns einfach unter die bereits vorhandenen.

Das problem ist, zu "transformieren" diesen normalen Elemente auswählen, gibt es einige javascript, das ausgeführt werden muss, die gegen diesen HTML:

$(document).ready(function() {
     $(".MultiSelect").dropdownchecklist(  {firstItemChecksAll: true, maxDropHeight: 300 , searchTextbox: true, width: 100, textFormatFunction: function(options) {
        var selectedOptions = options.filter(":selected");
        var countOfSelected = selectedOptions.size();
        var size = options.size();
        switch(countOfSelected) {
        case 0: return "All";
        case 1: return selectedOptions.text();
/*      case size: return "All"; */
        default: return countOfSelected + " selected";
        }
    } 
    }
    ); 
}

So, irgendwie muss ich in der Lage sein, um javascript auszuführen, die gegen die HTML-Code, der generiert wird aus dieser anderen .php-Datei. Und den Aufruf einfach den oben genannten code, nach meiner divs innerHTML gefüllt ist, nur re-generiert die bereits vorhandenen dropdowns, nicht die zwei neuen.

Beispiel Bilder

javascript XMLHttpRequest-Objekt öffnen, php-Datei und führen Sie mehrere javascript

javascript XMLHttpRequest-Objekt öffnen, php-Datei und führen Sie mehrere javascript

  • warum nicht einfach die alert ('Erfolg'); innen ajax-callback?
  • können Sie mir ein Beispiel nennen, ich werde versuchen? habe ich kaum in diesem code zu arbeiten und nicht einmal vollständig verstehen.
  • Der einfachste Weg zu gehen über es Adam ist nicht einbetten der javascript innerhalb PHP, sondern führen Sie die JavaScript-nachdem Sie injizieren das php-Ergebnis in der ajax-callback-Funktion.
  • wenn u wollen einfach nur, um es zu bekommen und läuft einfach nur Aussehen bei der Einfache Teil unter meiner Antwort
  • Ihre Antwort war SEHR leicht zu Lesen und zu verstehen, dafür danke ich Ihnen sehr! ich habe versucht, Ihr Beispiel ist zwar, und noch immer kam der Fehler, das Ergebnis war undfined... =[
  • ich glaube, ich verstehe, was Sie versuchen zu erreichen. was würde ich tun, persönlich, ist das php ermittelt werden Hersteller-und Klasse Informationen, und sobald ajax callsback, erstellen die textarea und Label-Elemente, injizieren retrived-Daten für Lieferant und Klasse in Ihnen, und Spritzen es in die DOM. all dies würde erfolgen auf client-Seite, nachdem document.getElementById("divResults").innerHTML=xmlhttp.responseText;.
  • versucht zu Lesen & verstehen, was DOM-manipulation/ - injection ist und wie es durchgeführt wird. aber mit dem, was Sie sagte, ich denke, ich kann es schaffen... ich denke auch, vielleicht könnte ich erstellen des dropdowns, sondern nur noch die div display:none... sobald ich die Daten für die dropdowns / Elemente auswählen, füllen Sie Sie mit den zurückgegebenen Daten, und legen Sie das div sichtbar sein. Eine Frage aber, ist das innerHTML=xmlhttp.responseText, wenn der Ajax - "Ruft zurück"? oder ist das eine andere Zeile? Ich appreicate die helfen, kjy, ich danke Ihnen so sehr!

InformationsquelleAutor Adam | 2011-02-11
Schreibe einen Kommentar