我正在与CMS Thelia 2(在多个站点上与Symfony 2一起使用)合作。而且我每个人都有联系表格,我可以通过检查Google reCaptcha v2来保护它。我之所以不得不使用此解决方案,是因为v3 reCaptcha允许用户在不完成所需输入的情况下提交表单(仍然不知道为什么)。
因此,我使用一个检查框,并且Javascript函数强制用户对其进行检查以便提交表单。
<div class="form-group group-btn">
<br>
<div class="g-recaptcha" data-sitekey="my-site-key" align="right"></div>
<br>
<div class="control-btn text-right">
<button type="submit" id="submitBtn" class="btn btn-contact">{intl l="Send" d="citerneocontact.fo.citerneo"}</button>
</div>
</div>
功能:
function onSubmit(token) {
document.getElementById("form-contact").submit();
}
$("form").submit(function(event) {
showloader = false;
var recaptcha = $("#g-recaptcha-response").val();
if (recaptcha === "") {
event.preventDefault();
alert("Veuillez cocher le reCaptcha");
}
});
这可以在我所有的网站上工作,除了一个网站,如果用户尝试提交表单而不检查验证码,就会启动一个Jquery蓝色加载器Gif。我的Javascript函数可以运行,但是此加载程序会显示并阻止页面上的任何操作(永远旋转,迫使我重新加载页面)。当然,它阻止了表单的操作,不会发送邮件。
这是Jquery_loader gif:
Chrome Developper的工具向我显示的是显示的div:
<div class="loader" style="display: block;"></div>
到目前为止,我已经试图迫使他使用CMS和/或Javascript进行“显示:无显示”,但是没有任何效果。
是否有防止此加载程序出现并阻止任何操作的想法?