Xpages 来自一个应用程序的工作对话框代码在另一个应用程序中不工作

Xpages 来自一个应用程序的工作对话框代码在另一个应用程序中不工作,xpages,Xpages,我有一个工作代码,可以在用户单击提交按钮时使用SSJS代码打开对话框,向用户显示错误或警告。此按钮显示在xpage的顶部 在另一个应用程序中应用了上述代码的修改版本,但将按钮放在部分,而不是xpage的顶部。如果comboBox1具有初始值,则会弹出对话框。但它不起作用。客户端验证在工作和非工作应用程序中都处于关闭状态。为什么这个代码不起作用?去哪里查 下面是区段按钮的代码: <xp:button value="Must click to Assign Quote Number" id="

我有一个工作代码,可以在用户单击提交按钮时使用SSJS代码打开对话框,向用户显示错误或警告。此按钮显示在xpage的顶部

在另一个应用程序中应用了上述代码的修改版本,但将按钮放在部分,而不是xpage的顶部。如果comboBox1具有初始值,则会弹出对话框。但它不起作用。客户端验证在工作和非工作应用程序中都处于关闭状态。为什么这个代码不起作用?去哪里查

下面是区段按钮的代码:

<xp:button value="Must click to Assign Quote Number" id="button6" style="width:207.0px">
                            <xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true">
                                <xp:this.action>
                                    <xp:executeScript>
                                        <xp:this.script><![CDATA[#{javascript:var comboBox1:com.ibm.xsp.component.xp.XspSelectOneMenu = getComponent("comboBox1");
var a=comboBox1.getValue();
if ( a=="Assign the PE Staff"){
    var d=getComponent('dialog2');
    d.show();
    }

}]]></xp:this.script>
                                    </xp:executeScript>
                                </xp:this.action></xp:eventHandler>
                        </xp:button>

检查我头顶的东西:

  • 检查新应用程序中是否正确加载了Ext库(检查应用程序属性)
  • 检查ExtLib的命名空间是否在新页面上(拖动页面上的任何ExtLib控件,这将为您添加)
  • 检查第一页中的资源是否位于新页面上(脚本库等)
  • 尝试打印(“var a=“+a”)以查看comboBox1是否为您提供了一个值(检查您的服务器日志.nsf)

如果您提供了更多关于它不起作用时发生的情况的信息,那么我们可能可以建议更多的事情来检查。

您能解释一下客户端验证关闭的原因吗?要查看错误控制中的验证消息,请关闭客户端验证。如果您不需要往返服务器,或者,您是否计划在按钮的代码中做更多的工作?还有一个复选框:在这两种情况下组合框的名称是否相同comboBox1?客户端验证关闭:对于所有必填字段,当用户单击submit时,我使用错误控制来显示所有字段的必填消息。这些消息指导用户只填写必填字段,并在输入时节省时间。comboBox1:是的,它与此新应用程序中的工作应用程序同名。新应用程序是从确保配置相同的工作应用程序复制的。尝试使用print语句获取值,但不在日志中显示任何内容。如果您使用上面所示的print语句,您的日志中至少应该有一个字符串“a=”。你连这个都没有吗?另一件要尝试的事情:尝试关闭所有验证,看看对话框是否开始工作。验证器在XPages中是一个真正的难题。