【问题标题】:return updated innerHTML after updating record更新记录后返回更新的innerHTML
【发布时间】:2017-08-03 12:01:45
【问题描述】:

在一个 php 文件中,我在网格中返回一些表格的记录,例如 div 堆栈(下面的函数中的 var divid),每个记录对应于由 id 索引的记录(下面的函数中的 tdid)。数据库在 SQLserver 中。

为了编辑特定记录,我将 orderedit.php 文件的内容作为 innerHTML 调用,该文件包含一个表单(下面函数中的 var formid)。

然后使用下面的函数执行更新并将 div 的 innerHTML 替换为 orderselect.php 的内容,该内容返回此特定记录的选择。

它执行得很好,除了有时选择返回更新的记录,但有时它返回更新前的更新记录。 (已更新,已检查)

如何确保在更新记录后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";
        }
    }     
}

【问题讨论】:

  • 也许你的 *.php 文件有问题。请让我们看看。为什么不使用jQuery的$.get(...)

标签: javascript php sql-server ajax


【解决方案1】:

在执行选择查询之前,我在orderselect.php 中插入了一个小延迟。

usleep(50000);

这是独立的,并不能确保表单提交和记录更新发生在选择之前,但它以一种实际的方式起作用。
仍然欢迎更好的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-27
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多