我有一个传统的Umbraco ASP.NET站点(v4.7),我已经要求将SalesForce Web放到销售表单上。我已经完成了这项工作,并且与通过垃圾邮件的数量完全相同。
因此,我尝试使用我已成功放置在表单上的Google NoCaptcha小部件,但我不知道如何验证响应。我搜索过的所有示例都使用的是我无法使用的PHP cURL方法。
为了使网站编译更加复杂,我无法访问源文件,因此我无法在解决方案中创建任何控件/类等。
是否可以仅使用'客户端'来验证重新接收回复。 (例如javascript)没有完成后端处理?
非常感谢任何帮助。
谢谢, 克雷格
答案 0 :(得分:1)
将按钮的enabled
属性设置为false
。
<asp:button id="btnName" enabled="false" text="submit" />
然后在recaptcha容器上:
<div id="asd" class="g-recaptcha" data-callback="EnableButton" data-expired-callback="DisableButton" data-sitekey="your-site-key">
</div>
其中data-callback
和data-expired-callback
是小部件的事件。
数据回调:
成功验证码后调用
数据过期回调:
会话超时时调用。
其中EnableButton
和DisableButton
是javascript函数,完全按照他们的说法执行。
<script type="text/javascript">
var DisableButton = function () {
alert("Confirmation Expired. Please Answer Recaptcha.");
document.getElementById('<%=btnName.ClientID %>').disabled = true;
grecaptcha.reset();
};
var EnableButton = function () {
document.getElementById('<%=btnName.ClientID %>').disabled = false;
};
</script>
但我们确实建议在服务器端验证它。
希望它有所帮助..