1

在我的例子中:我创建了一个表单,在表单中有一个按钮和一个包含数据的组合框(比如页面 A)。当我点击按钮时,我只想调用页面 B 来执行第二个进程。调用页面 B 的语法是:

bb.pushScreen('PageB.htm', 'PageB', {'Key': MyComboValue});

我如何在页面 B 之后的页面之后调用 B 将捕获并获取从页面 A 发送的“MyComboValue”的值?

问候, 贝托

4

2 回答 2

2

首先,这在 bbUI 0.94(下一个分支)中可用,只是为了确保您运行的是正确的构建。

现在,您传递给新页面的对象在 ondomready 和 onscreenready 函数中可用,因此您可以执行以下操作:

onscreenready: function(element, id, passed_object) { }
于 2012-10-05T18:13:23.227 回答
1

有几种方法可以实现这一点:

  1. 使用 cookie 来保存数据。不会推荐太多。
  2. 使用本地存储。适用于较新的浏览器,某些浏览器将无法享受它。
  3. 更改 url 时将值作为查询字符串参数传递。

我自己会选择第三种选择。如果您只使用 JavaScript 而没有使用任何服务器端编程语言:

  1. 将事件附加到按钮,以便在单击时获取数据并生成查询字符串。然后:top.location = "http://something/PageB.htm?" + 查询字符串;
  2. 在页面 B 上,读取查询字符串 (top.location.href) 并对其进行解析以获取查询字符串。使用查询字符串的值在页面上设置您想要的任何内容。

如果您需要代码或我误解了,请告诉我,我会立即检查!

编辑:我刚刚意识到您将您的问题标记为使用 blackberry-webworks。我从未使用过它,因此我不知道我的解决方案是否有意义。如果可能,也尝试在您的问题上或在标题中指定它:)

于 2012-10-04T04:37:27.073 回答