2017-08-03 44 views
0

在一個php文件中,我返回一個表格的一些記錄,如格子堆棧(下面的函數中的變量divid),每個記錄對應一個由id索引的記錄(tdid在下面的函數中)。數據庫在SQLserver中。在更新記錄後返回更新的innerHTML

要編輯一個特定的記錄,我調用一個orderedit.php文件的內容,該文件包含一個表單(下面的函數中的變量formid)。

然後用下面的函數執行更新並將div的innerHTML替換爲orderselect.php的內容,該內容返回選擇此特定記錄的內容。

它執行得很好,除了有些時候select會返回更新的記錄,但有些時候它會像更新之前那樣返回更新後的記錄。 (它已更新,已勾選)

如何確保orderselect.php作爲innerHTML在記錄更新後返回?

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

也許您的* .php文件存在問題。請讓我們看看。任何爲什麼不使用jQuery的[$ .get(...)](https://api.jquery.com/jquery.get/)? – Spectarion

回答

0

在執行select查詢之前,我在orderselect.php中插入了一個小延遲。

usleep(50000); 

這是獨立的,並不能確保表單提交和記錄更新發生在選擇之前,但以一種實際的方式發揮作用。
仍然打開更好的想法。