Recaptcha v2 как обновить после неправильного ввода данных в форму

Проблема следующая: есть форма с логином и паролем защищенная Recaptcha v2. При вводе логина и пароля js проверяет что формы не пустые и отправляет ajax на php файл который уже обрабатывает капчу и данные формы и возвращает на фронт токен или ошибку БЕЗ перезагрузки страницы. Если есть ошибка в логине или пароле а капча была успешно пройдена после возврата ошибки капча так и остается пройденной но повторно хеш в ajax уже не кладет. Соответственно нужно ждать пока пройдет время действия хеша или перезагружать страницу что напрочь убивает всю красоту Ajax. Пытался перезагрузить фрейм при наличии ошибки но адекватного способа не нашел. Подкиньте пожалуйста идею как это обойти. Заранее спасибо!

 <div class="form">
  <h3>Welcome to MisterPay personal area!</h2>
  <br>
<form id="asset_auth" style="margin: 0 20px; ">
  <input type="email" name="Login" id="Login" placeholder="Email" autocomplete="username" class="form-control cp_input"><br>
  <input type="password" name="Password" id="Password" placeholder="password" autocomplete="current-password" class="form-control cp_input"><br>
  <div class="g-recaptcha" id="captcha" data-sitekey="XXXXXXXXXXXXXXXXXXXXXXXXXX-" style=" margin: 0 auto; width: fit-content;"></div><br>
  <button type="button" id="sendPost" class="btn btn-success btn-primary">Login</button>
  </form>
</div>
  <div class="popWindow">
          <div id="statusMess" class="thank_you_title"></div>
          <div class="close-btn">&times;</div>
 </div>
<script src="js/auth.js"></script> 
<form id="tokenForm" action="https://site.com/account/externalauth" method="post">
                    <input type="hidden" name="token" id="token" />
                </form>

  $("#sendPost").on("click", function(){
  var Password = $("#Password").val()
  var Login = $("#Login").val();
  var $popWindow = $(".popWindow");
  var $popClose = $(".close-btn");
  var statusMess;
  var token;
  var errorCode;
  var responseMessage;


  $(function() {
      $popClose.on("click", function(){
        $popWindow.fadeOut();
      });
    });
document.getElementById("Password").classList.remove('cp_input_ufield');
document.getElementById("Login").classList.remove('cp_input_ufield');

   if (Login=="") {
    $popWindow.fadeIn();
        var statusMess='Please enter your mail!';
        document.getElementById("statusMess").innerHTML = statusMess;
        document.getElementById("Login").classList.add('cp_input_ufield');
  }
  else if(Password==""){
    $popWindow.fadeIn();
        var statusMess='Please enter your password!';
        document.getElementById("statusMess").innerHTML = statusMess;
        document.getElementById("Password").classList.add('cp_input_ufield');
  }
  else{
  $.ajax({
    url:'comp/tokener.php',
    type:'POST',
    cache:'false',
    data:$("#asset_auth").serialize(),
    dataType: 'json',
    beforeSend: function() {
      $("#sendPost").prop("disablled", true);
    },
    success: function(data){
      var token = data['token'];
      var errorCode = data['errorCode'];

      if (data!=''){

        if (errorCode == 0) {
          $("#asset_auth").trigger("reset");//очистить форму
          document.getElementById('token').value = token;
          document.getElementById("tokenForm").submit();
        }
        else if (data == 1) {
           $popWindow.fadeIn();
           document.getElementById("statusMess").innerHTML = 'Please perfom capthca!';
        }
        else{
           $("#asset_auth").trigger("reset");//очистить форму       
           $popWindow.fadeIn();//всплывающее окно для проверки 
           document.getElementById("statusMess").innerHTML = 'Wrong Email or Password!';
        }


      }
      else{
        $popWindow.fadeIn();//всплывающее окно для проверки 
        document.getElementById("statusMess").innerHTML =  'Server error ocured! Contact us for solving your pronlem!';
      }

    }


  })};

});

Ответы (1 шт):

Автор решения: Sergey Subbotin

Все оказалось просто: grecaptcha.reset();при ошибке логина или пароля, вопрос решен.

→ Ссылка