如何从onstart
javascript函数中取消活动?
我试过这个,但事件没有取消。按钮代码:
<p:commandButton id="cmbtInsertar" value=Insertar"
onstart="return verificarNulidad();"
</p:commandButton>
和功能代码:
function verificarNulidad()
{
puedeInsertar = true;
var frm = document.getElementById("formInicio");
for (var i=0; i<frm.elements.length;i++)
{
if((frm.elements[i].id.indexOf("XX") != -1 || frm.elements[i].id.indexOf("XX") != '-1') && (frm.elements[i].id.indexOf("focus") == -1 || frm.elements[i].id.indexOf("focus") == '-1'))
{
var nombreCampo = (frm.elements[i].id.substring(frm.elements[i].id.indexOf("_")+1)).replace('_input','');
if(frm.elements[i].value == null || frm.elements[i].value.trim == '' )
{
alert('El Campo '+nombreCampo+' no puede estar en blanco');
puedeInsertar = false;
frm.elements[i].focus;
break;
}
else if(frm.elements[i].value == '0' || frm.elements[i].value == 0 || frm.elements[i].value == '-1' || frm.elements[i].value == -1)
{
alert('El Campo '+nombreCampo+' no puede ser cero');
puedeInsertar = false;
frm.elements[i].focus;
break;
}
}
}
return puedeInsertar;
}
答案 0 :(得分:0)
我建议在按钮中调用JavaScript函数,并在该函数中决定何时调用bean方法。 PrimeFaces具有该任务的p:remoteCommand
组件
<p:remoteCommand name="myCommand" actionListener="#{myBean.myCommand}" update=":myForm:mySth"/>
<p:commandButton value="Insertar" onclick="if (verificarNulidad()) myCommand()"/>