2013-09-24 81 views
1

我正在做我的第一個JavaScript遊戲,我幾乎完成了它,但我想添加的最後一件事是記分牌。我已經設置了一個簡單的數據庫表([id] [author] [time]),通過PDO連接完美等。發送表單而不顯示結果

我的遊戲包含一個div,在jQuery的最後設置用戶的時間。這個div可能是我將發送到數據庫的分數的來源。並且有一個「重新」按鈕來重新加載整個事物。它可能是一個'發件人'的形式。

還有就是我想象中的工作路徑:

開始遊戲>負載記分牌SCRIPT>光潔度水平>用戶按下「再一次」,得分變爲​​數據庫>重新加載頁面

我的問題是,如果我在使用end:

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

因此我得到了somescript.php,但我想在後臺執行此操作,而新遊戲將被加載。

我的問題是如何使腳本'安靜' - 按下「重新加載頁面」,腳本在後臺完成,我有一個新的遊戲與更新的數據庫?

+0

你就不能重定向從somescript.php回來? – 2013-09-24 00:13:43

回答

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 
    }); 
}); 
+0

而在somescript.php我會收到$ _POST ['score']? – hugerth

+0

這是正確的,你可以改變類型:「POST」鍵入:「GET」,如果你願意,也可以使用$ _GET ['score']。 –

0

調查AJAX請求。 jQuery的$。阿賈克斯是你的朋友

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

有可能是一個更好的辦法,但我可能只是添加這個在somescript.php結束

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

echo "$theResults";