通过JavaScript提交到相同的PHP页面

时间:2017-01-04 12:40:22

标签: javascript php html

我编写了以下代码,我正在寻找一些关于将表单提交到同一PHP文件的帮助,但是通过JavaScript。

<?php
if(isset($_POST['go'])) {
    header('location: index.php');
}
?>

<html>
    <head>
        <script>
            function gogo() {
                document.form1.submit();
            }
        </script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    </head>
    <body>
        <form method="POST" name="form1" id="form1" action="example.php" />
            <input type="button" value="go" name="go" id="go" onclick="gogo();"/>
        </form>
    </body>
</html>

这不起作用。你能告诉我这里哪里出错吗?

4 个答案:

答案 0 :(得分:0)

尝试

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

答案 1 :(得分:0)

问题在于,因为您使用javascript来提交表单,所以&#34; go&#34; -input不会被激活。显而易见(而且非常干净)的解决方案是剥离所有javascript:

<?php
if(isset($_POST['go'])) {
    header('location: index.php');
}
?>

<html>
    <head>
    </head>
    <body>
        <form method="POST" action="example.php" />
            <input type="submit" value="go" name="go" />
        </form>
    </body>
</html>

但是,如果您想在javascript中使用表单验证,则应该执行以下操作:

<script>
    function validateForm() {
        if(true/*check here*/) {
            return true;
        } else {
            return false;
        }
</script>
<form onsubmit="return validateForm();">
     ...
</form>

如果您(无论出于何种原因)确实想要使用帖子中要求的javascript提交,您只需要添加一个名为go的隐藏输入:

<form ...>
    <input type="hidden" name="go" value="" />
    ...
</form>

答案 2 :(得分:0)

试试这个     

<html>
    <head>
        <script>
            function gogo() {
                document.form1.submit();
            }
        </script>

    </head>
    <body>
        <form method="POST" name="form1" id="form1" action="" />
            <input type="submit" value="go" name="go" id="go" />
        </form>
    </body>
</html>

答案 3 :(得分:-1)

使用JQuery代替

<script>
    $(document).ready(function () {

        $("#Go").click(function () {
            var data = $("#form1").serialize();

            $.ajax({

                type:"POST",
                data:data,
                url:"example.php", //page where you want to submit the form
                success:function (data) {
                    // response from the server in browsers console
                    console.log(data)
                }
            });
        });

    });
</script>

请务必更改<input type="submit" value="go" name="go" />

<button id="Go" name="Go">Go</button>