从javascript </p:confirmdialog>显示<p:confirm dialog>

时间:2014-01-13 10:32:40

标签: javascript primefaces

我需要在JavaScript中显示p:confirmDialog

我试过了:

<p:confirmDialog id="users"  widgetVar="UsersWidget" severity="alert" closable="false">

    <h:outputText value="Please specify the UserID of the contractor to whom a mail need to be sent"></h:outputText>
    <h:inputText></h:inputText>
    <p:commandButton id="OK" value="add"></p:commandButton>
    <p:commandButton style="font-size:1.1em;" id="Cancel" 
        value="cancel" action="#{Bean.Report}"   >
    </p:commandButton>

</p:confirmDialog>

<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{Bean.usersList}"/>
<f:selectItem itemLabel="Other" itemValue="Other" />
<p:ajax listener="check()" />

我的Javascript

<h:head>
<script language="javascript">
    function check() {
        alert("Entered");
        RequestContext.getCurrentInstance().execute("UsersWidget.show()");
        alert("Working!!");
    }
</script>
</h:head>

我可以看到由我输入的警报无法看到符合标准的对话框和工作警报

1 个答案:

答案 0 :(得分:2)

您正在混合Java和JavaScript。

在JavaScript中,您只需要这样做:

<script language="javascript">
    function check() {
        alert("Entered");
        UsersWidget.show();
        alert("Working!!");
    }
</script>

UsersWidget对应于您在widgetVar的属性p:confirmDialog中设置的名称。

如果要在调用支持bean之后显示对话框,可以在Java代码(支持bean)中调用它:

public void myJavaMethod() {
    RequestContext.getCurrentInstance().execute("UsersWidget.show()");
}

请求一返回,就会显示对话框。