0

我有我创建的填字游戏页面(称为puzzle.aspx)。

每次客户端按下表数据时,它都会打开一个新窗口页面(称为keyboard.aspx),其中包含查询字符串中表数据的ID(例如:keyboard.aspx?0_8,则位置为第0行第8列) .

问题是我不知道如何从keyboard.aspx 将客户端按下的字母传递回打开的页面???

4

1 回答 1

1

当您在弹出窗口中时,您可以通过opener关键字访问打开弹出窗口的页面。因此,例如,如果打开页面有function acceptLetter(),您可以从弹出窗口中将其调用为opener.acceptLetter().

知道这一点,您可以按照以下步骤操作。

  1. 在开启页面定义函数acceptLetter(position, letter)中,它将接受客户端按下的“row_column”位置和字母。
  2. 在客户端按下字母时的弹出窗口中 - 调用该函数opener.acceptLetter并作为参数传递位置(您已经从查询字符串中知道)和按下的字母。

例如,如果弹出窗口打开为“keyboard.aspx?0_8”并且客户端按下字母“W”,您将调用函数为opener.acceptLetter('0_8', 'W');. 另外,我假设按下字母后,不再需要弹出窗口,因此在上述调用之后,调用window.close();以关闭弹出窗口。

于 2013-09-21T21:58:15.820 回答