Java jQuery表单提交在JSF中不起作用?

Java jQuery表单提交在JSF中不起作用?,java,jquery,jquery-ui,jsf,Java,Jquery,Jquery Ui,Jsf,我有一个JSf表单,我正在尝试使用jQueryUI对话框插件来提交表单。 下面是代码片段 function confirmSubmit() { $('#dialog').dialog('open'); return false; } $('#dialog').dialog({ autoOpen : false, width : 400, modal : true, res

我有一个JSf表单,我正在尝试使用jQueryUI对话框插件来提交表单。 下面是代码片段

function confirmSubmit() {
          $('#dialog').dialog('open');
          return false;
      }

    $('#dialog').dialog({
        autoOpen : false,
        width : 400,
        modal : true,
        resizable : false,
        buttons : {
            "Submit Form" : function() {
                 document.myForm.submit();
            },
            "Cancel" : function() {
                $(this).dialog("close");
            }
        }
    });
<h:form id="myForm"> 
<h:commandLink action="#{Bean.search}" type="submit" onclick="return confirmSubmit()"   id="search" styleClass="buttonSearch">
                 </h:commandLink>    
函数confirmSubmit(){
$('dialog')。dialog('open');
返回false;
}
$('#dialog')。dialog({
自动打开:错误,
宽度:400,
莫代尔:是的,
可调整大小:false,
按钮:{
“提交表单”:函数(){
document.myForm.submit();
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
对话框中的“document.myForm.submit();”部分不起作用,即没有调用服务器,在服务器控制台中我看到错误:

11:45:32738严重[生命周期] JSF1054:(阶段ID:RENDER_响应6, 视图ID:/PRT01/IMCM0101.jsp) 阶段期间引发异常 执行: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle。LifecycleImpl@ec333b]


对话框显示正确,但当我按下提交按钮“document.myForm.submit();”时,代码被执行,表单未被提交,而服务器控制台上出现上述错误。

返回false时它实际上不会提交

使
对话框
工作

    $(document).ready(function() {
    var $dialog = $('<div></div>')
        .html('This dialog will show every time!')
        .dialog({
            autoOpen : false,
                            width : 400,
                            modal : true,
                            resizable : false,
                            buttons : {
                              "Submit Form" : function() {
                                       document.myForm.submit();
                               },
                               "Cancel" : function() {
                                       $(this).dialog("close");
                                }
                           }
                });


});

完成后,一些JSF参数丢失。jsf在表单提交过程中添加了它们,我使用jQuery添加了它们:

$("a[id$='search']").click(function() {
    var input = $("<input>").attr("type", "hidden").attr("name",   "myForm:search").val("myForm:search");
    $('#myForm').append($(input));
    $("p#dialog-email").html(titleVar);
    $('#dialog').dialog('open');
});
$([id$='search'])。单击(函数(){
变量输入=$(“”).attr(“类型”,“隐藏”).attr(“名称”,“myForm:search”).val(“myForm:search”);
$('#myForm')。追加($(输入));
$(“对话电子邮件”).html(标题栏);
$('dialog')。dialog('open');
});

你好,Jigar,对话框正在工作我有代码

如果确定要编辑,请单击“取消”。问题不在于对话框,而在于jsf中使用“document.myForm.submit();”提交表单的过程,只需尝试
$(“#myForm”).submit()它在服务器3:20:06255严重[lifecycle]JSF1054上给出了相同的错误:(阶段ID:RENDER_RESPONSE 6,View ID:/PRT01/IMCM0101.jsp)在阶段执行期间引发的异常:javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle。LifecycleImpl@162ad2c]现在已经修复了,一些JSF参数丢失了。jsf在表单提交过程中添加了它们,我使用jQuery$([id$='search'])添加了它们。单击(function(){var input=$(“”)。attr(“type”,“hidden”)。attr(“name”,“myForm:search”)。val(“myForm:search”);$('(myForm”)。append($(input));$((p#dialog email”)。html(titleVar);$('dialog')。dialog('open');在阶段执行期间引发了什么异常?请把它贴出来。它包含答案。你好,BalusC,我已经发布了服务器控制台显示的错误,我也在下面询问了这个问题,因为在我的表单中,我有多个命令按钮,每个按钮都指向不同的bean方法,因此在执行“document.myForm.submit()”,它没有考虑命令按钮,因为我已经做了“onclick=return false”;因为我想使用jQuery提交表单,所以我使用jQuery追加了必需的参数“myform:search”。在表单内部追加,现在它可以正常工作了。这是互联网上没有的新东西。希望它能帮助其他人。你没有发布异常。该错误只告诉在阶段执行期间引发的异常:
。这说明抛出了一个异常。我对抛出的异常感兴趣。您应该已经在日志中读了一些内容才能找到它。我刚刚仔细检查了一遍,但是在服务器日志中没有异常跟踪,只是上面的错误,在UI上,当我按下jquery对话框上的submit按钮后,整个页面被刷新,因为此请求中没有传递所需的参数“myForm:search”(使用FireBug查看参数)直到我故意使用jquery将此“myForm:search”添加为隐藏参数,只有这样调用才会进入服务器(使用eclipse调试模式,我正在监视对服务器的调用)。
$("a[id$='search']").click(function() {
    var input = $("<input>").attr("type", "hidden").attr("name",   "myForm:search").val("myForm:search");
    $('#myForm').append($(input));
    $("p#dialog-email").html(titleVar);
    $('#dialog').dialog('open');
});