在Django / Heroku网站的javascript中更改对象数据

时间:2018-04-21 12:09:30

标签: javascript django heroku

我想知道我是否可以在javascript中更改数据对象的值。 javascript从iframe接收postmessages,我需要能够将该信息存储到正确的对象,但我不太确定如何在HTML表面上执行此操作,或者是否可以在javascript表面中执行此操作。

我可以打电话

{{ game.high_score}}

在HTML中获取某个游戏对象的high_score,但我试图找出如何让我的javascript向这些对象发送值的尝试飞过我的脑海。

我尝试的最近一次冒险只是做了

game.gameData.name = somevalue;

在javascript中,但这似乎没有更改此数据对象值的全局值(在javascript之外没有看到更改)。

在Django / Heroku环境中有没有可靠的方法来处理这个javascript的内部/外部?

编辑:

我在从POST中获取数据方面没有遇到麻烦:问题可能也是如何在我希望将其更改为源自javascript的值时更改游戏对象的值。

我看到的游戏类对象是这样的:

class GameInstanceDto:
def __init__(self, base: GameIdentityDto, high_score: int, state: str):

    self.base = base,
    self.high_score = high_score,
    self.state = state

如果我可以使用

在HTML中调用游戏特定的高分
{{ game.high_score }}

我希望在javascript中改变它的价值,我个人试着用

game.high_score = "2500";

只是为了看看high_score的值是否会改变,但我根本没有看到它的变化。

1 个答案:

答案 0 :(得分:1)

我不确定您是否要将更改发布回您的模型,所以让我们一步一步。

使用JavaScript更改{{game.high_score}}

<div id="high_score">{{ game.high_score }}</div>
<script>
    var high_score = document.getElementByID('high_score');
    high_score.innerHTML = 2500;
</script>

现在,您实际上想要作为POST发送回来,使元素high_score成为表单中的输入字段