2012-08-06 94 views
1

我已经JavaScript代码如下:将JavaScript的数据转换成表格

game.bind('gameover', function(seconds) { 
    setTimeout(function() { 
     var rank = game.getRank(seconds); 
     scorecard.find('.time').text(seconds + ' sec'); 
     scorecard.find('.rank').text(rank[0]); 
     scorecard.find('.byline').text(rank[1]); 
     ...more code 

在下面的div显示此数据(所以JS脚本工作):

<div class="inner"> 
    <h3>Nice job! Your time:</h3> 
    <h1 class="wobble time"><!-- 15 seconds --></h1> 
    <h2 class="rank"><!-- Friendly Mallard --></h2> 
    <h3 class="byline"><!-- (That's pretty good) --></h3> 
</div> 

现在我想把结果也放在一个表格中,所以我可以把它发布到数据库(mysql)。所以我添加了一个表格,并把它放在同一div:

<form id="form" action="updatescore.php" method="post"> 
    <input type="text" id="time" name="time" value="" /> 
    <input type="text" id="rank" name="rank" value="" /> 
    <input type="text" id="byline" name="byline" value="" /> 
</form> 

现在的JS,我复制的线(例如scorecard.find('.time').text(seconds + ' sec');),并改变了它寻找的ID,所以.变得#和通过它在js像这样:

scorecard.find('.time').text(seconds + ' sec'); 
scorecard.find('#time').text(seconds + ' sec'); 
etc 

所以这应该工作我认为,但表单输入保持空。我究竟做错了什么?

亲切的问候,

莫里斯

回答

2

使用val()而不是text()设定值

+0

谢谢,我会尝试这个,如果从Fresheyeball解决方案不起作用 – Maurice 2012-08-07 07:01:18

+0

这个工作。虽然另一种解决方案也可以,但我仍然需要一个表单,因为我也有php数据来处理 – Maurice 2012-08-08 21:58:22

3

如果你只是希望通过updatescore.php到JS变量进入你的数据库,你不需要使用一个表格!你可以用AJAX来做到这一点。

var scoreData = { 
     time : time, 
     rank : rank[0], 
     byline : rank[1] 
    }; 
    $.post('updatescore.php', scoreData); //done! 
+0

噢,我会试试这个 – Maurice 2012-08-07 07:00:37