Javascript表单提交POST没有数据

时间:2015-01-13 09:04:36

标签: php ajax forms post

这是我用来将数据发布到gamelobby.php

的表单
<form id="game_form" method="POST" action="/gamelobby.php">
    <input type="text" id="plr_name"></input>
    <input type="hidden" value="" id="table_name"></input>
</form>
    <button id="codefight_create">Create a Fight</button>

这是提交表单的功能

    function codefight_create(){
            // blah blah, some ajax
            table_name = xmlhttp.responseText;
            document.getElementById("table_name").value = table_name;
            document.getElementById("game_form").submit();
            // console.log(table_name);
        }
    document.getElementById("codefight_create").addEventListener("click", function(){
        codefight_create();
    });

问题是,当我在var_dump($_POST)页面上gamelobby.php时,页面上的$_POST超级全局中没有存储数据。

2 个答案:

答案 0 :(得分:3)

您忘记了input的名称:

<input type="text" id="plr_name"></input>

<input type="text" id="plr_name" name="plr_name"></input>

(对于table_name input相同,id仅在客户端,它不会被发送到服务器)

答案 1 :(得分:0)

<form id="game_form" method="POST" action="/gamelobby.php">
...
</form>
<button id="codefight_create">Create a Fight</button>

<form id="game_form" method="POST" action="gamelobby.php">
...
<input type="submit" value="Create a flight"/> 
</form>

通过onclick =“codefight_create();”添加点击事件在按钮输入上。 您可以使用侦听器事件,但需要在文档准备好后将其添加到JQUERY中。