2012-04-23 3 views
1

У меня есть файл index.php, где у меня есть игра на холсте. Эта игра загружается из отдельного файла game.js, где у меня есть переменная: ballsCought. Я хочу, чтобы этот wariable и name inputet передавались в текстовый вход, чтобы перейти к другому файлу php. мой код:Передать глобальные переменные javascript в php

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Simple Canvas Game</title> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script> 
     $(document).ready(function(){ 

      function score(){ 
       $('#score').fadeIn(1000); 
       $('#score').load("load_players.php"); 
      }; 

      setInterval(score , 1000); 

      var nam = $("#name").val();   

      $('#submit').keyup(function(e){ 
       if(e.keyCode == 13){ 
       $.post('upload_score.php','n=' +nam, 'score=' +ballsCought); 
       } 
      }); 

      $('#submit').click(function(e){ 
       $.post('upload_score.php','n=' +nam, 'score=' +ballsCought); 
      }); 

     }); 
    </script> 
</head> 
<script src="game.js"></script> 
<body> 
    <canvas id="canvas" width="525" height="525"></canvas> 
    <br /><p><span id="points"></span><input type="text" id="name" placeholder="Name..."/><input type="submit" id="submit" value="Submit"/></p> 
    <br /><span id="score"></span> 
</body> 
</html> 

Но эта функция сообщения не имеет никакой идеи? THunk you ...

+1

Почему вы не помещаете значение этой переменной в скрытое поле, а затем передаете это значение из этого скрытого поля на другую страницу, где вы хотите. –

+0

Что означает «не работает»? Какие ошибки вы получаете? – j08691

+0

Я пытался это сделать. Чтобы поместить значение переменной в скрытое, но я не могу заставить его работать, он не проходит. Все еще возвращается 0. Этот код: $ ("# points_hidden"). Html (ballsCaught); point_hidden - это скрытое поле, и эта строка находится внутри файла game.js –

ответ

1

Похоже, что метод $ .post неверен. Если вы хотите передать данные на страницу PHP вы должны использовать объектную нотацию JavaScript следующим образом:

$.post('upload_score.php', {n: nam, score: ballsCought}); 

Вы можете прочитать больше о различных способах вызвать $ .post из jQuery Docs страницы

сейчас все еще могут быть проблемы с вашей страницей PHP. Вы должны использовать что-то вроде Firebug, чтобы увидеть запрос Ajax и любые ошибки, которые могут быть возвращены.

Смежные вопросы