Saya memiliki formulir pendaftaran dengan AJAX sehingga saya ingin menyegarkan gambar Recaptcha kapan saja terjadi kesalahan (yaitu nama pengguna sudah digunakan).
Saya mencari kode yang kompatibel dengan ReCaptcha untuk memuat ulang menggunakan JavaScript.
javascript
recaptcha
AhmetB - Google
sumber
sumber
Jawaban:
Penting: Versi 1.0 API reCAPTCHA tidak lagi didukung, tingkatkan ke Versi 2.0.
Anda dapat menggunakan grecaptcha.reset (); untuk mengatur ulang captcha.
Sumber: https://developers.google.com/recaptcha/docs/verify#api-request
sumber
Untuk reCaptcha v2, gunakan:
Jika Anda menggunakan reCaptcha v1 ( mungkin tidak ):
Ini akan dilakukan jika ada Recaptcha yang sudah dimuat di Internet
window
.(Diperbarui berdasarkan komentar @ SebiH di bawah.)
sumber
grecaptcha.reset();
( documenation )grecaptcha.reset();
untuk aplikasi reaksi saya, dan berfungsi dengan baikif (window.grecaptcha) grecaptcha.reset();
Jika Anda menggunakan versi 1
Jika Anda menggunakan versi 2
sumber
Atur ulang widget reCAPTCHA. Id widget opsional dapat dilewati, jika tidak maka fungsi akan mengatur ulang widget pertama yang dibuat. (dari halaman web Google)
sumber
Coba ini
Jika Anda memanggil showRecaptcha, captchadiv akan diisi dengan instance recaptcha baru.
sumber
Atau Anda bisa mensimulasikan klik pada tombol refresh
sumber
Recaptcha
dangrecaptcha
keduanya tidak ditentukan pada halaman saya. Ini bekerja untuk saya, dengan sedikit modifikasi:if( $("#recaptcha_reload").length > 0 ){ ....
Untuk pengguna AngularJS:
sumber
Untuk versi baru reCaptcha v2 gunakan:
sumber
Jika Anda menggunakan Versi 1.0 API reCAPTCHA, harap tingkatkan ke Versi 2.0 (Versi 1.0 tidak lagi didukung)
Gunakan
grecaptcha.reset();
untuk mengatur ulang captcha.sumber
jika Anda menggunakan recaptcha 2.0 baru gunakan ini: untuk kode di belakang:
untuk javascript sederhana
sumber