2017-08-03 3 views
0

In einer PHP-Datei gebe ich einige Datensätze einer Tabelle in einem Raster wie Stapel von divs (var divid in der Funktion unten) jeweils eine entsprechende in einem Datensatz indiziert durch ID (tdid in der Funktion unten). Die Datenbank befindet sich im SQL Server.zurückgegeben aktualisiert innerHTML nach Aktualisierung Datensatz

Um einen bestimmten Datensatz zu bearbeiten, rufe ich als innerHTML den Inhalt einer orderedit.php Datei auf, die ein Formular enthält (var formid in der Funktion unten).

Dann mit der Funktion unten führe ich die Aktualisierung und ersetze die innerHTML des div mit dem Inhalt einer orderselect.php, die eine Auswahl dieses bestimmten Datensatzes zurückgibt.

Es führt alles gut aus, außer dass die Auswahl manchmal den Datensatz aktualisiert, aber zu anderen Zeiten den aktualisierten Datensatz wie vor der Aktualisierung zurückgibt. (Es ist aktualisiert, überprüft)

Wie kann ich sicherstellen, dass die orderselect.php als innerHTML NACH der Aktualisierung des Datensatzes zurückgegeben wird?

function kataxorisi(tdid){ 
    var formid = 'form'+tdid; 
    document.getElementById(formid).submit(); 
    // Here some intervention needed 
    var divid = 'div'+tdid; 
    cdiv = document.getElementById(divid); 
    cdiv.innerHTML="<img src='loaderIcon.gif'>"; 
    if(XMLHttpRequest) var x = new XMLHttpRequest(); 
    else var x = new ActiveXObject("Microsoft.XMLHTTP"); 
    x.open("GET", "orderselect.php?gid="+tdid, true); 
    x.send(); 
    x.onreadystatechange = function(){ 
     if(x.readyState == 4){ 
      if(x.status == 200) cdiv.innerHTML = x.responseText; 
      else cdiv.innerHTML = "Error loading document"; 
     } 
    }  
} 
+0

Möglicherweise gibt es ein Problem in Ihren * .php Dateien. Bitte, lass uns sehen. Irgendwelche, warum nicht jQuery's [$ .get (...)] (https://api.jquery.com/jquery.get/) verwenden? – Spectarion

Antwort

0

Ich habe eine kleine Verzögerung in den orderselect.php vor der Ausführung der Auswahlabfrage eingeführt wird.

usleep(50000); 

Dies ist unabhängig und stellt nicht sicher, dass das Anmeldeformular und die Aufzeichnung Aktualisierung vor der Auswahl aufgetreten sind, aber in einer praktischen Art und Weise funktioniert.
Noch offen für bessere Ideen.

Verwandte Themen