Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不重新加载页面的情况下提交带有W A S D的表单_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 在不重新加载页面的情况下提交带有W A S D的表单

Javascript 在不重新加载页面的情况下提交带有W A S D的表单,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我正在制作一个2D游戏,这个游戏有简单的行走代码,可以通过表单设置位置,但需要重新加载页面 <script type="text/javascript"> document.onkeydown = KeyCheck; function KeyCheck(e) { var KeyID = (window.event) ? event.keyCode : e.keyCode; switch(KeyID)

我正在制作一个2D游戏,这个游戏有简单的行走代码,可以通过表单设置位置,但需要重新加载页面

  <script type="text/javascript">
            document.onkeydown = KeyCheck;

  function KeyCheck(e)
    {
       var KeyID = (window.event) ? event.keyCode : e.keyCode;

        switch(KeyID)
        {
            case 87:
                function up() 
                {
                document.navi.keydir.value = "up";
                document.navi.submit();
                }
                var uptime;
                uptime = setTimeout(up, 1000);
                break;
            case 65:
                function left() 
                {
                document.navi.keydir.value = "left";
                document.navi.submit();
                }
                var lefttime;
                lefttime = setTimeout(left, 1000);          
                break;
            case 68:
                function right() 
                {
                document.navi.keydir.value = "right";
                document.navi.submit();

                var righttime;
                righttime = setTimeout(right, 1000);
                break;
            case 83:
                function down() 
                {
                document.navi.keydir.value = "down";
                document.navi.submit();
                }
                var downtime;
                downtime = setTimeout(down, 1000);
                break;
        }
    } 
</script>


<form id="navi" name="navi" class="navi" action="move.php" method="post">
<input name="keydir" type="hidden" value="" />
</form>

document.onkeydown=KeyCheck;
功能键检查(e)
{
var-KeyID=(window.event)?event.keyCode:e.keyCode;
开关(KeyID)
{
案例87:
函数up()
{
document.navi.keydir.value=“up”;
document.navi.submit();
}
无功运行时间;
正常运行时间=设置超时(上限为1000);
打破
案例65:
函数左()
{
document.navi.keydir.value=“left”;
document.navi.submit();
}
时间;
lefttime=setTimeout(左,1000);
打破
案例68:
功能权限()
{
document.navi.keydir.value=“右”;
document.navi.submit();
时间;
righttime=setTimeout(右,1000);
打破
案例83:
函数down()
{
document.navi.keydir.value=“向下”;
document.navi.submit();
}
var停机时间;
停机时间=设置超时(向下,1000);
打破
}
} 
我需要的脚本,将发布此表单到MYSQL使用此键,而无需重新加载页面

  <script type="text/javascript">
            document.onkeydown = KeyCheck;

  function KeyCheck(e)
    {
       var KeyID = (window.event) ? event.keyCode : e.keyCode;

        switch(KeyID)
        {
            case 87:
                function up() 
                {
                document.navi.keydir.value = "up";
                document.navi.submit();
                }
                var uptime;
                uptime = setTimeout(up, 1000);
                break;
            case 65:
                function left() 
                {
                document.navi.keydir.value = "left";
                document.navi.submit();
                }
                var lefttime;
                lefttime = setTimeout(left, 1000);          
                break;
            case 68:
                function right() 
                {
                document.navi.keydir.value = "right";
                document.navi.submit();

                var righttime;
                righttime = setTimeout(right, 1000);
                break;
            case 83:
                function down() 
                {
                document.navi.keydir.value = "down";
                document.navi.submit();
                }
                var downtime;
                downtime = setTimeout(down, 1000);
                break;
        }
    } 
</script>


<form id="navi" name="navi" class="navi" action="move.php" method="post">
<input name="keydir" type="hidden" value="" />
</form>
编辑:我让这个表单与 $(“#navi”).ajaxSubmit({url:'move.php',键入:'post'})


但是如果有人能告诉我这对页面过载有好处吗?

首先,只需移动user.Secrond,然后打开document.navi.submit()进入异步ajax调用,如果失败,请将用户移回上一个已知的正确位置。

您需要第二个页面来使用ajax将数据发布到中,就像使用jquery库一样。另一个页面将接受POST数据,对其进行sanatize并插入数据库记录。Google“jquery form ajax POST”您可以看到它在登录时是如何工作的:test password:testOk,我知道了如何移动。因此,您需要一种双管齐下的方法来获得用户体验。首先,让用户使用AJAX在地图上移动,而不使用post,只需使用JS移动用户。如果AJAX调用失败,请提醒用户并将其返回到最后一个已知的有效位置。转到moving用户我想使用javascript脚本,它可以像其他玩家一样在一段时间内重新加载我的玩家。对于游戏窗口,我应该使用div或canvas?对,我是说使用两个JS调用。一个用于移动用户,另一个用于进行ajax调用,即moveUser()if(ajax.failure()| ajax.result.dbnotsaved))moveUserBack()使用HTML5画布可能更容易,但你所做的也会起作用。你能告诉我一个没有广告的好的免费主机吗?因为这个主机是垃圾。