执行return false时我有一个问题仍然是动作发生.我不明白这是什么问题.
<h:commandButton value="Deny" style="margin-left: 5px;" id="button"
action="#{myController.submitRequest('deny', 'return')}"
onclick="javascript:statusCheck();"/>
Run Code Online (Sandbox Code Playgroud)
JS代码:
function statusCheck()
{
var msgArray = [];
var validate = true;
var status= document.getElementById('userValue:statusId');
if(status.value.trim() == "")
{
msgArray.push("Status required");
alert("check");
validate = false;
}
alert("after check");
alert(validate);
if(validate) {
return true;
}
else
{
if(msgArray.length >0)
{
alert(msgArray.join('\n'));
alert("test");
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在在上面的JS函数中,我可以清楚地看到警报测试被调用但仍然触发了操作.请指导.
你应该从属性中的javascript 返回一些东西onclick.
如此变化
onclick="javascript:statusCheck()"
Run Code Online (Sandbox Code Playgroud)
至
onclick="return statusCheck()"
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.我之前看到它(实际上是?)实际上需要从onclick中的语句中返回一些内容.call(statusCheck())函数返回的事实并不意味着这个返回值也会进一步返回到commandButton onclick.所以它总是继续称之为行动
| 归档时间: |
|
| 查看次数: |
2551 次 |
| 最近记录: |