0

最初に2つのファイル(index.htmlとjeu.php)があり、フォームを送信すると、他のページ(jeu.php)にリダイレクトされるため、問題はクリックイベントにあります

<html>
<head>
<title>Jeu de dammes</title>
</head>
<style>
form { margin-left:500px;margin-top:300px;  width:300px }
  </style>
<body>
<form id="formulaire" style="margin-left:100px, padding: 15px" method="post" >
<table>
<tr><td><h4> The first player</h4></td>
    <td><input   type="text"   id="premier" name="premier"></td>
</tr>
<tr><td><h4> The second player</h4></td>
    <td><input   type="text"   id="deuxieme" name="deuxieme"></td>
</tr>
<tr>
<td></td>
<td>
<button   id="action">Play</button></td>
</tr>
</table>
</form>
<script   src="jquery-1.5.1.js"></script>
<script>
$(function () {
    $('#formulaire').submit(function(e) {
    e.preventDefault();
    var j1 = $('#premier').val();
    var j2 = $('#deuxieme').val();
    if (j1 == "") alert('saisir le nom du premier joueur');
    if (j2 == "") alert('saisir le nom du deuxieme joueur');
    if (j2 != "" && j1 != "") {
    $.post('jeu.php',   {  premier:   j1,   deuxieme:   j2});
     window.location.href = "jeu.php";          
    }
});
    $('body').css('background-image', 'url(flower2.jpg)').css('background-size', '100%');
    $("#formulaire").css('background-image', 'url(flower.jpg)');
    });
</script>
</body>
</html>

そして別のファイル(jeu.php)で:

<?php
echo $_POST["premier"]."<br/>";
echo $_POST["deuxieme"]."<br/>";
?>

問題:ページ jeu.php は常に空です

  1. なぜ?
  2. コードを修正するにはどうすればよいですか?
4

1 に答える 1

0

AJAX を使用している場合、jeu.php ページは決して「見られる」ことはありません...何が起こるか:

1.index.htmlにデータを送信しjeu.php、次に
2.jeu.phpそのデータを受信し、それに対して何かを行い、 に応答を返しますindex.html。次に、
3.index.html受信したデータで何かを行います。この部分は、 の ajax メソッドの success 関数で実行する必要がありますindex.html

jQuery AJAX メソッドの代替形式を使用することをお勧めします。これは、コードのレイアウト方法がはるかに簡単であるためです。何かのようなもの:

$.ajax({
    type: "POST",
    url: "jeu.php",
    data: 'premier=' + j1 + '&deuxieme=' + j2,
    success: function(data) {
        alert('Server-side response was: ' + data);
    }
});

ノート:

  1. 上記のコードは index.html に入ります
  2. jeu.php からの応答はこの構造に返され、(この例では) success 関数で警告されます。
  3. 上記のコードは、次のコードを置き換えます。

$.post('jeu.php', { premier: j1, deuxieme: j2});
window.location.href = "jeu.php";

于 2012-12-09T20:44:57.763 に答える