2016-05-26 19 views
1

Ich versuche zu überprüfen, sowohl die Checkbox ist oder nicht funktioniert es, wennGoogle recaptcha Arbeit gut, aber

  1. Benutzer auswählen google recaptcha dann benutzerdefinierte Checkbox dann meine Submit-Button aktivieren Das Problem ist, dass
  2. wenn Benutzer wählen zuerst benutzerdefinierte Box dann google recaptcha, die Schaltfläche senden nicht aktivieren.

Mein Code ist:

<div class="container"> 
      <form action="captcha.php" method="POST"> 
       <div class="g-recaptcha"data-theme="dark light" data-sitekey="6LenpCATAAAAAPNX7KmRsznT15ViNFKBI80ieTUU"></div> 
       <input type="checkbox" name="terms" id="terms"> 
       <p> 
        <button type="submit" name="submit" id="submit"class="btn btn-success" >Submit</button> 
       </p> 
      </form> 
     </div> 

Fiddle with my code

Antwort

0

Was die Bedingungen versteckt und Bedingungen bis recaptcha abgeschlossen ist? Ich habe Ihren Code mit zwei Checkboxen ausprobiert, da Recatcha nicht funktioniert, es sei denn, die Fiddle-URL ist in Ihren Recaptcha-Einstellungen bei Google enthalten.

$(document).ready(function() { 
    $('#submit').attr({disabled: 'disabled'}); 
    $('#terms').hide(); 
    $(document).on('click', function(event) { 
     enableSubmit(); 
    }); 
    $(document).on('change','#g-recaptcha-response', function() { 
     enableSubmit(); 
    }); 
    function enableSubmit() { 
     if($('#g-recaptcha-response').val() !== '') { 
     console.log('in if '); 
     $('#terms').show(); 
     if($('#terms').is(':checked')) { 
     $('#submit').removeAttr('disabled'); 
     } 
     else 
     { 
      console.log('in else '); 
      $('#submit').attr({ 
      disabled: 'disabled' 
      }); 
     } 
     } 
}; 

zwei Kontrollkästchen

$(document).ready(function() { 
      $('#submit').attr({ 
       disabled: 'disabled' 
      }); 
    $('#terms1').hide(); 
      $(document).on('click', function(event) { 
       enableSubmit(); 
      }); 
      $(document).on('change','#terms', function() { 
       enableSubmit(); 
      }); 
      function enableSubmit() { 
       if($('#terms').is(':checked')) { 
        console.log('in if '); 
     $('#terms1').show(); 
     if($('#terms').is(':checked') && $('#terms1').is(':checked')) { 
     $('#submit').removeAttr('disabled'); 
     } 
       } else { 
        console.log('in else '); 
        $('#submit').attr({ 
         disabled: 'disabled' 
        }); 
       } 
      }; 
     }); 
+1

Sie zwei checkboxs verwendet haben, so dass es möglich ist, .ist zu überprüfen (‚: checked‘), aber wenn Sie versuchen, diese mit Google recaptcha wir Checkbox nicht dort haben und Sie können nicht überprüfen, ob es überprüft wird oder nicht – Shree29

+0

Ah ich sehe, ich dachte, document.on.change würde immer noch die Funktion enableSubmit feuern, da der Ergebniswert sich ändert? – f78xd23

+0

Es wird kein Änderungsereignis ausgelöst, daher wird die Schaltfläche nicht aktiviert – Shree29