【问题标题】:Remove HTML5 custom error message for reCaptcha after user passes validation用户通过验证后删除 reCaptcha 的 HTML5 自定义错误消息
【发布时间】:2019-02-18 03:35:35
【问题描述】:

我正在尝试以这个答案为基础: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 html recaptcha


    【解决方案1】:

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

    例如

    <form action="..." onsubmit="check_if_capcha_is_filled" novalidate>
    

    【讨论】:

    • 谢谢,但我想要验证。表单上还有其他元素,我想知道 reCAPTCHA 是否有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2016-04-18
    相关资源
    最近更新 更多