猿问

如何使用 JS 自动提交表单

我想在页面完成加载后使用 JS 添加代码自动自动提交表单我也需要它提交输入值提交并且验证码响应在我单击手动自动工作但没有提交输入“g-recaptcha-response”值时效果很好

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

<script src="https://www.google.com/recaptcha/api.js?render=<?php echo $captcha_site_key ?>"></script>

</head>

    <form action="check.php" id="myform" method="POST">

    <input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response">

    <input type="Submit" name="Submit">

</form>

<script>

    grecaptcha.ready(function() {

        grecaptcha.execute('<?php echo $captcha_site_key ?>', {action:'validate_captcha'})

                  .then(function(token) {

            document.getElementById('g-recaptcha-response').value = token;

        });

    });

</script>

<script type="text/javascript">

window.onload = function(){

  document.getElementById("myform").submit();

}

</script>


</body>

</html>


蓝山帝景
浏览 348回答 2
2回答

忽然笑

JS代码是解释:-首先 setAttribute('value', 'token');然后等待1秒然后提交 myform<script type="text/javascript">&nbsp; &nbsp; document.getElementById('g-recaptcha-response')..setAttribute("value", token);‏</script><script type="text/javascript">window.onload=function(){&nbsp;&nbsp; &nbsp; window.setTimeout(document.myform.submit.bind(document.myform), 100);};&nbsp;</script>

慕村225694

在 Javascript 中,通过这个小技巧你可以实现你的目标:使用普通 Javascript - 这是您提交表单的方式:&nbsp; document.getElementById("YourFormIdHere").submit();如果您希望仅在提供验证码时提交该表单,那么您必须运行 if 语句。首先停止提交表单,以便您可以在提交之前评估验证码。document.getElementById("FormIdHere").addEventListener("submit", function(event) {&nbsp; event.preventDefault()});从这里,您想检查验证码值是否已提交。首先尝试获取验证码的值var Captcha = document.GetElementById("capture ID here").value;//check if captcha has valueif(Captcha){&nbsp; &nbsp; //then submit your form here&nbsp; &nbsp; document.getElementById("YourFormIdHere").submit();}如果验证码值为空,则表单不会提交,从而强制用户创建验证码。
随时随地看视频慕课网APP
我要回答