Javascript 为什么我´;我在primefaces中使用fileupload我能做ajax调用吗?
我有一个出现在对话框中的上传程序。所以当我成功上传我的文件时;我想关闭拨号,如果上传后出现错误,我不想关闭对话框。因此,我的上传工作正常,但当我关闭对话框时,我从firebur获得消息:ReferenceError:args未定义。 以下是我的对话框的代码: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"
<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ño superior al válido"
label="Escoger" cancelLabel="Cancelar"
uploadLabel="Cargar archivo"
fileUploadListener="#{gestorMB.handleFileUpload}"
id="SigUPD"
oncomplete="handleCargarGestRequest(args)"
invalidFileMessage="Tipo de archivo inválido, solo se aceptan archivos con extensió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ó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 && !args.validationFailed) {PF('gestorCargarDialog').hide();}"
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Errormessage..."));
FacesContext.getCurrentInstance().validationFailed();