用户通过验证后,删除reCaptcha的HTML5自定义错误消息

问题描述 投票:0回答:1

我试图建立在这个答案上:https://stackoverflow.com/a/37048027

答案有效,但我想提出一个自定义的HTML5验证错误消息,所以我将javascript扩展为:

 window.onload = function() {
    var $recaptcha = document.querySelector('#g-recaptcha-response');
    if($recaptcha) {
        $recaptcha.setAttribute("required", "required");
        $recaptcha.setAttribute("oninvalid", "this.setCustomValidity('Please fill in the reCAPTCHA field.')");
        $recaptcha.setAttribute("oninput", "this.setCustomValidity('')");
    }
};

问题是,如果验证错误显示一次,它将始终显示,并且永远不会消失。我尝试添加oninput,onvalid和onchange但我似乎无法在初始显示后收到错误消息。

javascript html5 recaptcha
1个回答
0
投票

您可以根据novalidate规范通过将form添加到this元素来禁用HTML5表单验证。

例如

<form action="..." onsubmit="check_if_capcha_is_filled" novalidate>
© www.soinside.com 2019 - 2024. All rights reserved.