我的联系页面存在问题,非常感谢有人可以帮我处理google recaptcha编码。
我已将所有脚本和密钥添加到我的html中。它显示在我的网站上,但即使我没有点击recaptcha,我的联系页面仍然会显示。我知道这是我的java脚本正在通过recaptcha。下面是html代码,javascript和php编码。希望有人能让我知道出了什么问题。
HTML代码:
27
Javascript(如果填写了所有字段,这是通过recaptcha的javascript):
<div class="col-md-6 col-md-6">
<h3 class="title">Contact Form</h3>
<p class="form-message"></p>
<div class="contact-form">
<!-- Form Begins -->
<form role="form" name="contactform" id="contactform" method="post" action="php/contact-form-recaptcha.php">
<div class="row">
<div class="col-md-6">
<!-- Field 1 -->
<div class="input-text form-group">
<input type="text" name="contact_name" class="input-name form-control"
placeholder="Full Name" />
</div>
</div>
<div class="col-md-6">
<!-- Field 2 -->
<div class="input-email form-group">
<input type="email" name="contact_email" class="input-email form-control"
placeholder="Email" />
</div>
</div>
</div>
<!-- Field 3 -->
<div class="input-email form-group">
<input type="text" name="contact_phone" class="input-phone form-control" placeholder="Phone" />
</div>
<!-- Field 4 -->
<div class="textarea-message form-group">
<textarea name="contact_message" class="textarea-message form-control" placeholder="Message"
rows="6"></textarea>
</div></DIV>
<!-- Captcha Box -->
<div class="g-recaptcha" data-sitekey="6************************************Z"></div>
<!-- Button -->
<button class="btn btn-default" type="submit">Send Now
<i class="icon-paper-plane"></i></button>
</form>
<!-- Form Ends -->
</div>
PHP(contact-form-recaptcha.php):
/* ---------------------
Contact Form
/* --------------------- */
simplecontactForm: function(){
if ( $( "#contactform" ).length !== 0 ) {
$('#contactform').bootstrapValidator({
container: 'tooltip',
feedbackIcons: {
valid: 'fa fa-check',
warning: 'fa fa-user',
invalid: 'fa fa-times',
validating: 'fa fa-refresh'
},
fields: {
contact_name: {
validators: {
notEmpty: {
message: ''
}
}
},
contact_email: {
validators: {
notEmpty: {
message: ''
},
emailAddress: {
message: ''
},
regexp: {
regexp: '^[^@\\s]+@([^@\\s]+\\.)+[^@\\s]+$',
message: 'The value is not a valid email address'
}
}
},
contact_phone: {
validators: {
notEmpty: {
message: ''
}
}
},
contact_message: {
validators: {
notEmpty: {
message: ''
}
}
},
}
})
.on('success.form.bv', function(e) {
e.preventDefault();
var $form = $(e.target),
validator = $form.data('bootstrapValidator'),
submitButton = validator.getSubmitButton();
var form_data = $('#contactform').serialize();
$.ajax({
type: "POST",
dataType: 'json',
url: "../php/contact-form-recaptcha.php",
data: form_data,
success: function(msg){
$('.form-message').html(msg.data);
$('.form-message').show();
submitButton.removeAttr("disabled");
resetForm($('#contactform'));
},
error: function(msg){}
});
return false;
});
}
function resetForm($form) {
$form.find(
'input:text, input:password, input, input:file, select, textarea'
)
.val('');
$form.find('input:radio, input:checkbox')
.removeAttr('checked')
.removeAttr('selected');
$form.find('button[type=submit]')
.attr("disabled", "disabled");
}
},
请帮助我......万分感谢...
答案 0 :(得分:2)
如果您想检查用户是否点击了“我不是机器人”复选框,您可以使用reCaptcha API提供的.getResponse()
功能。
如果用户没有验证自己,它将返回一个空字符串,如下所示:
if(grecaptcha.getResponse() == "")
alert("You can't proceed!");
else
alert("Thank you");
如果用户已经验证了自己,则响应将是一个非常长的字符串。
有关API的更多信息,请访问此页面:reCaptcha Javascript API