首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracles更新数据库后的ajax加载

oracles更新数据库后的ajax加载
EN

Stack Overflow用户
提问于 2012-08-10 18:10:45
回答 2查看 127关注 0票数 1

我有一个显示“item”属性的表单。用户可以选择将文件/附件上载到此“项目”。当前,在带有类“testing”的div中,显示项的现有附件。用户使用“附加”按钮将文件附加到要更新的项。这些文件从来没有实际附加,直到表单提交了一个‘更新’按钮单击事件(这是我想要的)。表单提交是对iframe的ajax提交。我想使用jquery加载一个coldfusion页面,其中包含用于查找当前附加项到我的“testing”div中的查询。我最初的方法是在表单提交之后使用jquery的load函数:

代码语言:javascript
复制
//In the JS file, the selected item is used in the CF query
form.submit();
$('.testing').load('itemAttachments.cfm?itemID=' + selectedItem);

我知道我的coldufusion查询可以工作,因为它是'testing‘div中的一个cfinclude,页面最初加载的是正确的信息。在表单submit上,jquery返回cf页面,但是使用相同的数据而不是列出的新附件。当我刷新页面时,数据将正确显示(即,使用所列的新附件)。这让我相信一切都正常,但是jquery负载在Oracle处理查询之前就已经发生了。

这是正确的吗?如果是的话,我怎样才能解决这个问题?谢谢。

编辑表单提交给一个隐藏的iframe.The问题的目标是表单提交和jQuery.load()都使用相同的页面itemAttachments。但是jquery ()首先得到结果,然后才提交表单,尽管.load在代码中是在表单提交之后。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 15:47:13

我将jquery加载的脚本添加到coldfusion处理页面。我给了它一个window.parent.document的范围

代码语言:javascript
复制
<SCRIPT LANGUAGE="JAVASCRIPT">
    $(document).ready(function(){
        $('.testing', window.parent.document).load('processForm.cfm?itemID=' + <cfoutput>#itemID#</cfoutput);
    });
</SCRIPT>

这个成功了。

票数 0
EN

Stack Overflow用户

发布于 2012-08-11 10:42:28

这个使用iframe的技巧给您提供了2个并行请求,也许.load赢了比赛。如果您已经使用了jquery,我建议您也使用jquery并执行load (甚至只是使用ajax响应)。

如果您由于某种原因不得不使用iframe黑客,那么您需要将事件附加到iframe。例如,您可以在iframe重新加载时启动它:

代码语言:javascript
复制
$('#iframe').load(function(evt){
  //do some checks
  $('.testing').load('itemAttachments.cfm?itemID=' + selectedItem);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11907039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档