jQuery表单Submit在JSF中不起作用



我有一个JSf表单,我正在尝试使用jQuery Ui对话框插件提交表单。这是代码片段。

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>    

对话框中的"document.myForm.submit();"部分不起作用,即没有调用到服务器,在服务器控制台中我看到错误:

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

对话框显示正确,但一旦我按下提交按钮"document.myForm.submit();"代码就会执行,而表单没有提交,服务器控制台上就会出现上述错误。

当您return false;时,它实际上不会提交。

使dialog工作

    $(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");
                                }
                           }
                });

});

然后打电话给

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

完成后,缺少一些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');
});

相关内容

  • 没有找到相关文章

最新更新