我想使用recaptcha api,但不想重写这个函数。我的密钥位于提交按钮和表单标签上。我可以看到它不生成令牌,只是发送站点密钥。任何帮助都会很棒。
选项一使用表单标签中的键
<form method="POST" name="Form" id="Form" data-sitekey="Form hjkhjkhjkhjk">
选项二使用按钮标签中的键
<button type="submit"
class=g-recaptch "btn btn-primary px-4 float-right"
data-sitekey="@reCaptchaKey">
Submit
</button>
目标是使用此方法发送ajax请求
$("#Form").submit(function(e) {
e.stopPropagation();
e.preventDefault();
let formData = this.dataset.sitekey;
console.log(formData);
let submitter_btn = $(e.originalEvent.submitter);
console.log(submitter_btn.data('sitekey'));
});
工作示例 https://jsfiddle.net/tjmcdevitt/8cawy1kb/18/
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您必须使用
grecaptcha对象的execute方法。为此,您需要向 reCAPTCHA 脚本加载添加渲染参数。有关详细信息,请参阅文档。$(document).ready(function() { $("#Form").submit(function(e) { e.stopPropagation(); e.preventDefault(); let formData = this.dataset.sitekey; let submitter_btn = $(e.originalEvent.submitter); grecaptcha.ready(function() { grecaptcha.execute(submitter_btn.data('sitekey'), { action: 'submit' }).then(function(token) { // Add your logic to submit to your backend server here. consle.log(token); }); }); }); });