我有以下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
所以我认为这应该可行,但表单输入保持空白。我做错了什么?
亲切的问候,
莫里斯
答案 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()
来设置值