XSP.partialRefreshGet - 不发送值而不触发事件

时间:2012-05-31 12:07:21

标签: ajax xpages xpages-ssjs

现在花了几个小时,我在这里结束了绳索......

有人可以告诉我们为什么以下不起作用:

刚刚在Domino 8.5.3服务器上创建了一个所有默认设置的新数据库。

我期望发生的是“$$ xspsubmitvalue”应该包含“whatYouWantToSendHere”,但它是空的。

我正在使用该网址打开XPage:/fresh.nsf/test.xsp?Open&Login

这是按下按钮后的请求URL:

/fresh.nsf/test.xsp?Open&Login&$$ajaxid=view%3A_id1%3ArefreshMe

这是表单数据:

$$viewid:!d6g1y5acmu!

$$xspsubmitid:view:_id1:_id2

$$xspexecid:

**$$xspsubmitvalue:**

$$xspsubmitscroll:0|0

view:_id1:view:_id1

非常感谢一些意见!

谢谢!

/ J

源码

http://pastebin.com/nyQYaRUC

2 个答案:

答案 0 :(得分:2)

嗯,首先,我相信在调用partialRefreshGet函数结束时你还有一个额外的“,{}” - partialRefreshGet只需要两个参数,即ID和options对象,但那不是你的问题。

问题是你在一个也在进行部分刷新的按钮内发生了这一切 - 因为部分刷新是异步的,并且一次只能进行一次部分刷新,执行部分的代码与之相冲突按钮单击的动作来执行部分操作。在按钮上设置submit =“false”,看看它是否有效。

答案 1 :(得分:2)

按钮的代码是“损坏的”:它会激活部分刷新,CSJS代码永远不会被执行。

更改此

<xp:eventHandler
        event="onclick"
        submit="true"
        refreshMode="partial"
        refreshId="refreshMe">

到这个

<xp:eventHandler event="onclick" submit="false">

然后它将按要求工作。

修改

由于内部阻塞(存储在XSP.lastSubmit中的时间戳),将执行正常的CSJS代码,但不会执行基于CSJS的部分刷新。