输入字段上的要求属性不起作用。当输入为空时,表示不应提交表单。但是当输入为空时,表单会被提交。我跟着google's guide以最简单的形式实现了它。
<?php if (isset($_POST['code']) && ($_POST['code'] == "whatever")) //do stuff?> ?>
我想做的是只在输入不为空时才执行recaptcha,否则阻止表单提交和重新执行。
<form id="form1" method="post" > <input name="code" type="text" required> <button data-sitekey="xxx" data-callback='onSubmit' type="submit" class="g-recaptcha" >Let me in</button> </form> </div> <script> function onSubmit(token) { document.getElementById("form1").submit(); } </script> <script src="https://www.google.com/recaptcha/api.js" async defer></script>
答案 0 :(得分:2)
查看您链接到的文档,如果I put字段为null,您可能最好摆脱required
属性并在脚本中添加一个检查,以便不提交表单。
因此,JavaScript会检查字段是否为空,然后提供验证警报,或者最适合您的情况。
答案 1 :(得分:0)
它提交的原因是您的JavaScript函数直接调用submit,这绕过了仅HTML5验证。提交按钮是一种“提交”类型,将自动为您提交,因此您不需要它。