我在使用dijit 1.11.
完成表单时遇到一个非常奇怪的问题,在这种情况下,表单中有一些dijit/layout/ContentPane
,表单本身是TabContainer
}。在提交之前,根据一些规则,通过调用其中的destroyRecursive
来删除一些窗格。事情是,表格仍未提交。
进一步检查,validate()
方法返回true但isValid返回false,这就是提交不触发的原因。检查isValid
方法,我发现表单的_descedents
属性没有清除在销毁子窗格时以递归方式销毁的小部件。其中一些小部件的状态为Incomplete,这使得isValid返回false(尽管validate返回true)。
发生了什么,我该如何解决这个问题?
答案 0 :(得分:0)
我将尝试发布jsFiddle后者,更好地解释该bug,但作为解决方案,您需要在销毁ContentPane后调用Form connectChildren()
方法,这将重新创建_descendants
数组,使isValid函数只检查现有元素