Javascript 如何从支持Bean将响应转发到JSF页面?

Javascript 如何从支持Bean将响应转发到JSF页面?,javascript,jsf,xhtml,dojo,javabeans,Javascript,Jsf,Xhtml,Dojo,Javabeans,我目前在一个JSF项目中工作,遇到了一个问题。我有一个要求,比如 我有一个钮扣。单击该按钮将触发一个dojo对话框,其中将有一个“OK”和“Cancel”按钮以及一条信息消息。单击取消按钮将关闭弹出窗口 单击“确定”按钮将通过调用document.formname.submit()以javascript提交表单 问题是在提交时,我需要将用户带到另一个带有响应的页面。我的意思是前进而不是重定向。如果我使用带有action属性的h:commandButton,则会出现弹出窗口,并在不等待用户在弹出窗

我目前在一个JSF项目中工作,遇到了一个问题。我有一个要求,比如

  • 我有一个钮扣。单击该按钮将触发一个dojo对话框,其中将有一个“OK”和“Cancel”按钮以及一条信息消息。单击取消按钮将关闭弹出窗口

  • 单击“确定”按钮将通过调用document.formname.submit()以javascript提交表单

  • 问题是在提交时,我需要将用户带到另一个带有响应的页面。我的意思是前进而不是重定向。如果我使用带有action属性的h:commandButton,则会出现弹出窗口,并在不等待用户在弹出窗口中执行操作的情况下提交表单

    我希望第一次点击按钮应该触发javascript函数,并且“OK”应该提交表单并将响应转发到另一个页面

    请建议我如何使用我的xhtml、javascript、支持bean和faces配置来实现这一点。如果需要,我也会发布一些示例代码

    到现在为止我已经有了这样的

    xhtml

    
    
    js:

    函数submidt(){
    var h=新建dijit.Dialog({
    标题:“你好”
    });
    var-content=“”;
    h、 属性(“内容”,内容);
    h、 show();
    }
    
    面配置:

        <navigation-rule>
        <from-view-id>/viewpage.xhtml</from-view-id>
        <navigation-case>
            <to-view-id>/editpage.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>
    
    
    /viewpage.xhtml
    /editpage.xhtml
    
    因此,这些使我与响应保持在同一页面(查看页面)。我想让用户采取编辑页面

    提前谢谢。 高格

    如果我使用带有action属性的h:commandButton,则会出现弹出窗口,并在不等待用户在弹出窗口中执行操作的情况下提交表单

    在javascript onclick方法的末尾返回false

    function submidt() {
        var h = new dijit.Dialog({
            title: "Hello"
        });
    
        var content = "<input type='button' onclick='document.searchSecurityForm.submit();' value='OK' /><input type='button' onclick='this.hide();' value='Cancel' />";
        h.attr("content",content);
        h.show();
        return false;
    }
    
    函数submidt(){
    var h=新建dijit.Dialog({
    标题:“你好”
    });
    var-content=“”;
    h、 属性(“内容”,内容);
    h、 show();
    返回false;
    }
    
    感谢您的回复。一个问题得到解决。我的意思是,我可以通过返回false来显示弹出窗口来停止h:commandButton。现在我想在弹出窗口中为“OK”按钮返回true,为“Cancel”按钮返回false。请帮帮我。我欠你的。。!!因为一旦显示dojo弹出窗口,控件就会离开。但是我想根据弹出窗口中的按钮返回true或false。我怀疑是否只有在dojo对话框内容中再次构建表单才能提交内容?我不确定我是否完全理解。看起来您是在var content中手动构造输入按钮,它们似乎没有调用此函数(submidt)。。。那么,什么对你不起作用呢?
        <navigation-rule>
        <from-view-id>/viewpage.xhtml</from-view-id>
        <navigation-case>
            <to-view-id>/editpage.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>
    
    function submidt() {
        var h = new dijit.Dialog({
            title: "Hello"
        });
    
        var content = "<input type='button' onclick='document.searchSecurityForm.submit();' value='OK' /><input type='button' onclick='this.hide();' value='Cancel' />";
        h.attr("content",content);
        h.show();
        return false;
    }