我想使用新的 Google Recaptcha。我按照教程检查验证码是否有效。现在我想在输入中添加或不添加禁用属性。验证码错误时需要禁用输入,验证码正常时启用输入。
这是我现在的代码,但输入不能按我想要的方式工作..
<form action="" method="POST">
<?php
if($_SERVER['REQUEST_METHOD']==='POST' ){
$key='TA CLE GOOGLE';
$response=$_POST['g-recaptcha-response'];
$ip=$_SERVER['REMOTE_ADDR'];
$gapi='https://www.google.com/recaptcha/api/siteverify?secret=' .$key. '&response='.$response. '&remoteip='.$ip;
$json=json_decode(file_get_contents($gapi),true);
if(!$json[ 'success']){
echo "
<script>
$(\"input\").prop('disabled',true);
</script>
";
}
else{
echo "
<script>
$(\"input\").prop('disabled',false);
</script>
";
}
}
?>
<input id="toto" class="btn btn-block btn-success" type="submit" name="submit" value="Resolve"/>
感谢您的帮助
最佳答案
将输入字段移至 php 代码上方。您的 js 可能在输入添加到 dom 之前运行。如果您不想移动 html,也可以将 js 包装在准备好的文档中。
编辑:
您还可以使用当前代码设置一个 php 变量,并使用它来输出禁用的属性。例如,将 $disable_field = FALSE;
添加到脚本顶部,使用 $disable_field = !$json[ 'success'];
而不是 if else 条件,然后输出你的html:
<input id="toto" class="btn btn-block btn-success" type="submit" name="submit" value="Resolve" <?php if ($disable_field) echo 'disabled="disabled"';?>/>
关于javascript - Google Recaptcha 和禁用输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794679/