我正在嘗試使用 javascript 創建一個滴答聲游戲。我已經在 github 上發布了我的代碼,這里是:https : //github.com/chaneth8/Tick-Tack-Toe。我遇到的主要問題是更新用戶名。我創建了一個供用戶添加姓名的表單,如頁面頂部所示:[![在此處輸入影像描述][1]][1]
然而,當用戶在表單中輸入他們的名字時,“玩家一是”和“玩家二是:”的標題保持不變。當用戶贏得游戲時也會發生類似的事情。同樣,他們的名字也不會顯示——它只是在頁面底部顯示“won”,而不是“won”,即使兩個用戶都在頁面頂部的表單中輸入了他們的名字。我的代碼的作業方式如下:我為我的表單撰寫了以下 HTML:
<div id = "input-form">
<form onsubmit='return Newgame.startGame()' name = 'form' id = 'form'>
Input Player 1's Name:<input type= 'text' name='player1'>
Input Player 2's Name:<input type= 'text' name='player2'>
<input type='submit' value='Submit'>
</form>
</div>
然后我在 Javascript 中定義了一個工廠函式,其中包含函式 startGame:
const game = () => {
let Board = [[2,2,2], [2,2,2], [2,2,2]];
let Current_player = 0;
let player0 = "";
let player1 = "";
const startGame = () => {
player0 = document.forms["form"]["player1"].value;
player1 = document.forms["form"]["player2"].value;
clear();
Initialize();
}
然后我在頁面底部呼叫了工廠函式的一個實體:
let Newgame = game();
Newgame.Initialize();
我想知道為什么會發生這些問題,以及如何解決。提前致謝。
uj5u.com熱心網友回復:
需要防止表單提交,onSubmit后頁面重繪 ,player0和player1的值丟失
在 onSubmit 中傳遞事件
onsubmit="return Newgame.startGame(event)"
在 startGame 中結束阻止
const startGame = event => {
event.preventDefault();
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315773.html
標籤:javascript html 目的
下一篇:從方法物件獲取窄型別
