Javascript 问题与「;Recurly.js“;表单生成与GWT/AJAX
我正在为GWT应用程序中的重复帐户管理构建一个用户界面。 这意味着在应用程序中的“页面”之间没有实际的浏览器导航,并且在用户实际刷新其浏览器之前,客户端DOM状态一直保持在内存中 换句话说,当用户离开账单信息“页面”时,输入元素仍然存在于内存中,并且与用户界面的可见区域分离 不幸的是,“recury.js”提供的字段在这里有些问题,因为它们似乎是为在传统框架中使用而设计的,在传统框架中,用户提交表单,然后重定向到新页面 虽然它们对于初次提交更新的账单信息(即第一次实例化“表单”)非常有效,但如果有人在不刷新浏览器的情况下多次重新访问屏幕,则这些字段不接受输入 我尝试了以下方法:Javascript 问题与「;Recurly.js“;表单生成与GWT/AJAX,javascript,ajax,gwt,recurly,Javascript,Ajax,Gwt,Recurly,我正在为GWT应用程序中的重复帐户管理构建一个用户界面。 这意味着在应用程序中的“页面”之间没有实际的浏览器导航,并且在用户实际刷新其浏览器之前,客户端DOM状态一直保持在内存中 换句话说,当用户离开账单信息“页面”时,输入元素仍然存在于内存中,并且与用户界面的可见区域分离 不幸的是,“recury.js”提供的字段在这里有些问题,因为它们似乎是为在传统框架中使用而设计的,在传统框架中,用户提交表单,然后重定向到新页面 虽然它们对于初次提交更新的账单信息(即第一次实例化“表单”)非常有效,但如果
- 清除循环包装div元素的内部HTML(到 提供的字段由recury.JS)绘制并调用 再次配置()
- 第一次调用configure()后不调用它(在这种情况下,后续对页面的访问会导致无响应的输入)
这似乎解决了我的问题。您是重新创建DOM节点,还是重用它们?你能给我们看一下相关的代码吗?我正在使用相同的DOM节点。我不熟悉递归。一种解决方法是在每次显示表单时重新创建DOM节点。我不完全确定你的重用概念应该如何工作,而不会产生奇怪的副作用(正如你所看到的)。否则,请联系他们的开发团队,他们可能会帮助您。这是一个很好的建议,会尝试一下,谢谢。不幸的是,创建和附加新节点会导致与重复使用相同节点相同的行为。似乎Recurly.js不知道需要在后续调用configure()时重新绘制它们。您是在重新创建DOM节点,还是在重用它们?你能给我们看一下相关的代码吗?我正在使用相同的DOM节点。我不熟悉递归。一种解决方法是在每次显示表单时重新创建DOM节点。我不完全确定你的重用概念应该如何工作,而不会产生奇怪的副作用(正如你所看到的)。否则,请联系他们的开发团队,他们可能会帮助您。这是一个很好的建议,会尝试一下,谢谢。不幸的是,创建和附加新节点会导致与重复使用相同节点相同的行为。似乎Recurly.js不知道需要在后续调用configure()时重新绘制它们。请注意-此解决方案涉及更改Recurly.js中的设置,并且需要您自己托管该文件,而不是在页面加载时从Recurly调用它。问题是,每当Recurly更新Recurly.js时,您也必须进行更新以保持与更改的同步。我不需要滚动自定义的.js来使用此修复程序
recurly.readyState=0
在调用recurly.configure()
之前对我有效。您不需要为此自定义javascript,“readyState”只是一个变量。从recurly 4.3.0开始,在重新初始化之前设置readyState=0
会导致初始化失败。现在只需调用configure即可支持重新初始化。请注意,此解决方案涉及更改recury.js中的设置,并要求您自己托管该文件,而不是在页面加载时从recury调用它。问题是,每当Recurly更新Recurly.js时,您也必须进行更新以保持与更改的同步。我不需要滚动自定义的.js来使用此修复程序recurly.readyState=0
在调用recurly.configure()
之前对我有效。您不需要为此自定义javascript,“readyState”只是一个变量。从recurly 4.3.0开始,在重新初始化之前设置readyState=0
会导致初始化失败。现在只需调用configure即可支持重新初始化。