在web2py中,我使用{{=LOAD(...)}}
将一整套单独的表单加载到一个网页中。当所有这些初始加载完成后,如何激活一些javascript函数?如果我使用.ajaxStop()
,那么每次提交一个表单组件时都会调用该函数,这是我不希望发生的。
答案 0 :(得分:0)
所以我为我的用例找到了一种合理的方法,因为每个LOAD()事件都将sql表的行id作为参数。我在文件的早期定义了一个空的全局javascript对象loaded
,然后在遍历每一行时填写loaded = false属性:
<script>var loaded = {};</script>
{{for row in rows:}}
<script>loaded['{{=row.id}}']=false</script>
{{=LOAD('default','mycomponent.load', args=[row.id], ajax=True)}}
{{pass}}
在解析每个mycomponent.load
组件时,我将其标记为在javascript数组中加载,并检查所有加载的== true。例如。在mycomponent.load
文件的末尾
<script>
loaded['{{=row.id}}']=true;
if (Object.keys(loaded).every(function(k) {return loaded[k]}))
function_to_execute_once_all_LOADs_done()
</script>