我有以下 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
所以我认为这应该可行,但表单输入保持为空。我做错了什么?
亲切的问候,
莫里斯
最佳答案
如果您只是想通过 updatescore.php
将 js 变量移动到您的数据库中,您根本不需要使用表单!您可以使用 AJAX 实现。
var scoreData = {
time : time,
rank : rank[0],
byline : rank[1]
};
$.post('updatescore.php', scoreData); //done!
关于javascript - 将 javascript 数据放入表单中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836594/