好吧,我在bootstrap中有一个与<h:commandButton>
一起使用的模态对话框。我试图避免在验证失败但没有工作时关闭对话框。
这是我调用模态的按钮:
<h:commandButton styleClass="btn btn-default"
type="button"
value="Criar Página"
actionListener="#{cursoMB.novaPaginaConteudo()}">
<f:passThroughAttribute name="data-toggle" value="modal" />
<f:passThroughAttribute name="data-target"
value="#modalDialogPagina" />
<f:ajax execute="@this"
render="modalPagina"
onevent="function(data) {if(data.status==='success') initSummerNote(); }"/>
</h:commandButton>
这是模态上的按钮:
<h:commandButton styleClass="btn btn-default"
actionListener="#{cursoMB.salvarPagina()}"
value="Salvar">
<f:ajax execute="modalPagina"
render="tabPaginas"
onevent="function(data){if(data.status!='success') data.preventDefault();}"/>
<f:passThroughAttribute name="data-dismiss" value="modal" />
</h:commandButton>
如果data.status != 'sucess'
,我想避免接近但没有任何反应。我该怎么做?
在bean中创建一个控制变量(如boolean xxx),并在出现错误时将此变量设置为true。
在AJAX函数中测试这个变量。如果为false(!xxx)隐藏模态。
例:
function nameFunction(data) {
var status = data.status;
switch (status) {
case 'success':
if (!xxx) {
$('#idModal').modal('hide');
}
break;
}
}