发送表格而不显示结果

时间:2013-09-24 00:08:28

标签: javascript php jquery mysql forms

我正在做我的第一个javascript游戏,我差点完成它,但我想添加的最后一件事是记分牌。我已经设置了一个简单的数据库表([id] [作者] [时间]),通过PDO连接工作完美等等。

我的游戏包含一个div,在jQuery级别结束时设置用户的时间。这个div可能是我将发送到数据库的得分来源。并且有一个按钮“再次”重新加载整个东西。它可以是“发件人”形式。

有我想象中的工作路径:

开始游戏>加载记分板脚本>完成等级>用户按“再次”,分数转到数据库>重新加载页面

我的问题是如果我最后使用的话:

<form method="POST" action="somescript.php"></form>

因此我得到了somescript.php,但我想在后台执行此操作,同时将加载新游戏。

我的问题是如何使该脚本“安静” - 按“重新加载页面”,脚本在后台完成,我有一个更新数据库的新游戏?

3 个答案:

答案 0 :(得分:3)

您可以使用AJAX,查看http://api.jquery.com/jQuery.ajax/

示例:

$('input[type="submit"]').on('click', function(e) {

    // Stop form submission
    e.preventDefault();

    // Create AJAX request
    var request = $.ajax({
        url: "somescript.php",
        type: "POST",
        data: { score: $('#elementthatcontainsscore').val() },
        dataType: "json"
    });

    // Alert whatever is returned from your script
    request.done(function( res ) {
        alert(res);
        // You can reset form stuff here too
    });
});

答案 1 :(得分:0)

了解AJAX请求。 jQuery的$ .ajax是你的朋友

var score = $("#score").text();
$.ajax({
    url: 'somescript.php',
    data: {
        score: score
    },
    type: 'POST',
    success: function() {
        //do something?
    }
})

答案 2 :(得分:0)

可能有更好的方法,但我可能只是在somescript.php的末尾加上这个

$theResults = <<<EOD
<script type="text/javascript">
     window.location.href = "http://example.com"
</script>
EOD;

echo "$theResults";