Javascript 表单提交 POST 没有数据


Javascript form submit POSTs no data

这是我用来将数据发布到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();
    });

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

您忘记了input的名称:

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

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

table_name input也一样,id只在客户端,不会发送到服务器)

<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>

通过在按钮输入上添加单击事件="codefight_create();"。您可以使用侦听器事件,但您需要在文档准备就绪时将其添加到 JQUERY 中。