У меня есть форма, которая может принимать имена «Игрок А» и «Игрок Б». Как только пользователь нажимает «Начать игру», запускается игра (которая была реализована как флеш-маршрут / игроки). Однако, после нажатия «Начать игру», я также хотел бы, чтобы «текст игрока» обновлялся с именами игроков. Это моя попытка, но она не работает. Мой d3.click не распознает событие. Есть ли способ сделать оба? Спасибо.
index.html:
<div>
<form method="POST" action="/players" role="form", name="playerform">
<div class="form-group">
<label for="playerA">Player A</label>
<input type="text" class="form-control" id="playerA" name="playerA" placeholder="Player A">
</div>
<div class="form-group">
<label for="playerB">Player B</label>
<input type="text" class="form-control" id="playerB" name="playerB" placeholder="Player B">
</div>
<input type="submit" id="playerform" name="playerform" value="Start Game" class="btn btn-primary btn-lg">
</form>
</div>
<div id = "player-text"> </div>
<script type="text/javascript" src="../static/game.js"></script>
app.py:
@app.route("/players", methods=["GET", "POST"])
def send():
global ds_game
if request.method == "POST":
playerA = request.form["playerA"]
playerB = request.form["playerB"]
#return jsonify({"playerA":playerA, "playerB" : playerB})
return redirect("/index", code=302)
game.js
d3.select("#playerform")
.on("click", function(){
console.log("Clikecd on player form")
d3.json("/show",($dict)=> {
let $scores = $dict["scores"]
let $player = $dict["player"]
d3.select("#player_score").remove();
d3.select("#player-text").append("div").attr("id","player_score")
.append("p").attr("align","center").html($player)
.append("p").attr("align","center").html($scores);
});
});