javascript - Google Recaptcha 和禁用输入

标签 javascript php jquery input recaptcha

我想使用新的 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/

相关文章:

javascript - "Draggable"只垂直拖动?

asp.net - ASP.NET 主页面/详细信息页面示例,其中详细信息位于灯箱中?

php - 输入 php 的 pin 时显示同一个表中的一行

php - while循环Mysql更新复选框从哪里开始

jquery - 无效日期/闰年的验证

javascript - 关于如何使就地编辑可降解的任何想法?

javascript - 向 Flask 应用程序发出 AJAX 请求

php - 如何使用 Laravel 4.2 批量删除数据库表中不在数组中的行

javascript - Chart.js "display:none"问题

jquery - Accordion 的自动宽度