2014-02-23 38 views
0

在我使用的一个表单中,我称之为Javascript函数。虽然函数返回false,但表单被提交并且调用操作方法。基于在<h:commandbutton>中通过onclick属性调用的Javascript函数提交

我像这样使用

<h:commandButton onclick="test();" action="{#bean.menthod}"> 

测试 - JavaScript方法返回布尔值false。

以上不工作。下面提到的代码单独工作。我想知道为什么

<h:commandButton onclick="if(test) return true;else return false" action="{#bean.menthod}"> 

回答

1

它不工作,只是因为test()函数的结果没有返回给组件。

它应该工作与

<h:commandButton onclick="return test()" action="{#bean.menthod}"> 

预期,这是完全一样的第二种情况,但简化。

+0

我想知道为什么测试结果不会返回到组件,虽然test()方法返回错误 – user3263117

+0

,因为您在调用函数之前没有放置'return' :) –

+0

感谢您的建议。头痛消失了,现在我可以轻松休息:) –

0

在一天结束时,您的h:commandButton将成为HTML表单提交按钮。即<input type="submit" .../>

当提交按钮返回false时,通常表单不会被提交。

0

谢谢..这帮了我很多。在这里,我错过了简单的逻辑,即在这个onclick函数中,我返回false而不是true,这是停止要调用的动作。 最后,我将返回值更改为true,并解决了我的问题。

相关问题