Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript g:submitButton-onclick不';行不通_Javascript_Grails_Onclick_Tags_Submit Button - Fatal编程技术网

Javascript g:submitButton-onclick不';行不通

Javascript g:submitButton-onclick不';行不通,javascript,grails,onclick,tags,submit-button,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()"/> 微调器不显示(单击onclick无效)。这是浏览器中表单提交的默认行为。您只需单击一个按钮即可注册一个showSpinnerS

我有以下
g:submitButton

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

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

这是浏览器中表单提交的默认行为。您只需单击一个按钮即可注册一个
showSpinnerSignUp()
方法,而单击该按钮则负责提交随附的表单

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

这可以模拟为您单击了按钮并立即刷新了页面。当您将其部署到生产服务器时,您当前的设置可能会起作用,但在本地使用此设置的可能性很低,因为本地开发服务器通常在速度更快的计算机上运行,因此表单提交的页面刷新时间相当快

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


另外,还有一个选项可以
保存日志
,即使在页面刷新之后也可以保存Javascript控制台日志。因此,在方法调用中放置一个简单的
console.log()
,然后尝试点击该按钮。您将看到您的方法被调用,但由于表单提交,没有显示微调器。

呈现的HTML是否包含
onclick=“return showSpinnerSignUp()”
?不确定这是您的情况,但是submit应该刷新页面,使得onclick中的任何DOM修改都无效。相反,尝试使用ajax。(为了验证我的想法,请将ShowSpinner Signup的返回值更改为false,如果您看到微调器,我是正确的)
$(function() {
    function showSpinnerSignUp(){
        $('.spinner-ctn').show();
        return true;
    }
});