Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我´;我在primefaces中使用fileupload我能做ajax调用吗?_Javascript_Jquery_Ajax_Jsf 2_Primefaces - Fatal编程技术网

Javascript 为什么我´;我在primefaces中使用fileupload我能做ajax调用吗?

Javascript 为什么我´;我在primefaces中使用fileupload我能做ajax调用吗?,javascript,jquery,ajax,jsf-2,primefaces,Javascript,Jquery,Ajax,Jsf 2,Primefaces,我有一个出现在对话框中的上传程序。所以当我成功上传我的文件时;我想关闭拨号,如果上传后出现错误,我不想关闭对话框。因此,我的上传工作正常,但当我关闭对话框时,我从firebur获得消息:ReferenceError:args未定义。 以下是我的对话框的代码: <p:dialog maximizable="true" minHeight="400" minWidth="400" id="dialogCarga"

我有一个出现在对话框中的上传程序。所以当我成功上传我的文件时;我想关闭拨号,如果上传后出现错误,我不想关闭对话框。因此,我的上传工作正常,但当我关闭对话框时,我从firebur获得消息:ReferenceError:args未定义。 以下是我的对话框的代码:

<p:dialog maximizable="true" 
          minHeight="400" 
          minWidth="400" 
          id="dialogCarga" 
          header="Cargar gestores" 
          widgetVar="gestorCargarDialog" 
          resizable="false"
          modal="true">
    <p:ajax event="close" 
            listener="#{gestorMB.handleClose}" 
            update="agregarGestor"/>
    <h:form id="cargarGestor">
        <p:growl id="growl2" 
                 showDetail="false" />
        <table>
            <tr>
                <td align="left">
            <h:outputText id="layoutUpd" 
                          value="Subir archivo:" />
            </td>                                               
            <td align="left">
            <p:fileUpload invalidSizeMessage="El archivo tiene un tama&ntilde;o superior al v&aacute;lido" 
                          label="Escoger" cancelLabel="Cancelar" 
                          uploadLabel="Cargar archivo" 
                          fileUploadListener="#{gestorMB.handleFileUpload}"
                          id="SigUPD" 
                          oncomplete="handleCargarGestRequest(args)" 
                          invalidFileMessage="Tipo de archivo inv&aacute;lido, solo se aceptan archivos con extensi&oacute;n csv." process="@this"
                          allowTypes="/(\.|\/)(csv)$/" sizeLimit="20971520" 
                          update=":gestorForm:, erroresCarga, growl2, SigUPD" 
                          fileLimit="1" 
                          fileLimitMessage="Favor de cargar un archivo a la vez.">                                    
            </p:fileUpload>
            </td>                                                  
            </tr> 
            <tr>
                <td align="left">
            <p:outputPanel id="layoutGestores">
                <a href="#{gestorMB.layoutLinkGestores}" 
                   target="_blank">Descargar formato de carga de gestores.</a> 
            </p:outputPanel>
            * Nota: Todos los campos del archivo son obligatorios menos la extensi&oacute;n.
            El archivo debe estar libre de errores para poder cargar los gestores.
            </td>                              
            </tr>
        </table>
        <p:dataTable id="erroresCarga" 
                     value="#{gestorMB.msgError}" 
                     var="element" 
                     paginator="true" 
                     rows="10" 
                     emptyMessage="No existen errores"
                     paginatorTemplate="{CurrentPageReport} 
                                        {FirstPageLink} 
                                        {PreviousPageLink} 
                                        {PageLinks} 
                                        {NextPageLink} 
                                        {LastPageLink} 
                                        {RowsPerPageDropdown}"  
                     rowsPerPageTemplate="10,20,40" >
            <f:facet name="header">
                Errores en el archivo #{gestorMB.nombreArchivo}
            </f:facet>      
            <p:column headerText="Error">
                #{element}
            </p:column>                                                    
        </p:dataTable>                       
    </h:form>
</p:dialog>
我已经尝试使用handleCargarGestRequest(xhr、status、args),但它不起作用。我知道xhr没有定义。 有人知道为什么我可以在完成上传后关闭对话框吗?? 提前谢谢。

我想你可以(使用PF 4和更新的语法)

和在bean上(在出错的情况下)

function handleCargarGestRequest(args) {
    alert("handleCargarGestRequest: " + args.exito);
    if (args.exito) {
        gestorCargarDialog.hide();
    } else {
        gestorCargarDialog.show();
    }
}
oncomplete="if(args &amp;&amp; !args.validationFailed) {PF('gestorCargarDialog').hide();}"
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Errormessage..."));
FacesContext.getCurrentInstance().validationFailed();