按钮onClick事件在页面加载时触发

时间:2012-11-29 23:12:03

标签: xpages

我有一个xpage,其中我添加了一个按钮。该按钮具有操作组和其他操作。

由于某种原因,该事件在页面加载时触发。我没有任何页面加载事件。按钮是核心控件,而不是dojo按钮。

<xp:button id="button1" value="Approve Receiving Sheet"
    style="font-family:Arial;font-size:9pt;font-style:italic;width:180.0px"
    styleClass="button1">
<xp:eventHandler event="onclick" submit="true"  refreshMode="complete"     
     immediate="false" save="true"><xp:this.action><xp:actionGroup> 
<xp:this.condition>
 <![CDATA[#{javascript:var lookup = document1.getDocument().getUniversalID()
 var checkInvoices:string
 checkInvoices = @DbLookup("", "(Invoices by RS UNID)", lookup, 2)
 var returnValue = @If(@Implode(checkInvoices) == "", false, true)
 if(returnValue == false)
 {
    var x="alert('msg to user');"
    view.postScript(x)  
    return false
 }

 return true}]]></xp:this.condition><xp:confirm>

其他行动遵循有条件的行动。从按钮更改按钮提交不会做任何事情。 postscript消息显示为true或false,这就是我将其移动到if语句的原因。先谢谢,史蒂夫

1 个答案:

答案 0 :(得分:1)

编辑:我的第一个回答是不正确的!这是第二个:

只要调用actionGroup中的某个操作,就会计算条件。这意味着只要“无事可做”,您的条件就不会被执行。

但是您添加了确认操作:此类操作会生成CSJS代码块,并在呈现之前检查操作组的条件(也就是发送到浏览器)。这就是你执行CSJS警报的原因。

P.S。 如果您多次单击该操作并将条件设置为false,则无论如何都会显示确认消息。这似乎是一个错误。