g:submitButton- onclick不起作用

时间:2015-10-15 14:22:06

标签: javascript grails onclick tags submit-button

我有以下g:submitButton

 <g:submitButton name="next" class="signup-button skyblue-btn pull-right pl-pr-36" value="${message(code:"buttons.ok")}" onclick="return showSpinnerSignUp()"/>

我在JS文件中定义showSpinnerSignUp()

$(function() {
    function showSpinnerSignUp(){
        $('.spinner-ctn').show();
        return true;
    }
});

不显示微调器(onclick无效)。

1 个答案:

答案 0 :(得分:0)

这是浏览器中表单提交的默认行为。您在点击按钮时注册了showSpinnerSignUp()方法,而点击同一按钮则负责提交附上表格。

由于浏览器提交表单的内置行为通过向服务器进行完整往返来实现,因此会立即中断您onclick事件的代码执行,因为您的浏览器正在导航离开当前页面

这可以模拟,就像您单击了按钮并立即刷新页面一样。将当前设置部署到生产服务器时,您当前的设置可能会有效,但本地设置此设置的可能性很低,因为本地开发服务器过去常常在更快的机器上运行,因此表单提交的页面刷新时间要快得多。

要验证这种情况,请打开浏览器的控制台并直接调用方法showSpinnerSignUp()(请记得暂时将其从$(function() {})删除)并查看微调器是否显示。

此外,Preserve Logs还有一个选项可以在页面刷新后保留Javascript控制台日志。因此,在方法调用中放入一个简单的console.log(),然后尝试按下该按钮。您将看到您的方法被调用,但由于表单提交而未显示任何微调器。