将javascript数据放入表单中

时间:2012-08-06 22:00:13

标签: javascript jquery forms

我有以下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 个答案:

答案 0 :(得分:3)

如果您只想通过updatescore.php将js变量移动到数据库中,则根本不需要使用表单!你可以用AJAX来做。

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

答案 1 :(得分:2)

使用val()代替text()来设置值