输入字段的Javascript设置值不持久

输入字段的Javascript设置值不持久,javascript,setvalue,input-field,Javascript,Setvalue,Input Field,正在为一个班级制作21点游戏,并且在显示功能方面遇到了一些问题。它确实会更改字段的值,但在函数完成后会恢复。我怎样才能把零钱留到最后呢 <html> <head> <script type="text/javascript"> function stack() { this.cards = new Array(); this.makeDeck = buildDeck; this.deal = dealCard; this.add = addCard; }

正在为一个班级制作21点游戏,并且在显示功能方面遇到了一些问题。它确实会更改字段的值,但在函数完成后会恢复。我怎样才能把零钱留到最后呢

<html>

<head>
<script type="text/javascript">
function stack()
{
this.cards = new Array();

this.makeDeck = buildDeck;
this.deal = dealCard;
this.add = addCard;
}

function dealCard()
{
return this.cards.shift();
}

function addCard(card)
{
    this.cards.push(card);
}


function buildDeck()
{
var ranks = new Array("Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King");
    var suits = new Array("Clubs", "Diamonds", "Hearts", "Spades");

    this.cards = new Array(52);

    for (s = 0; s < suits.length; s++)
    {
      for (r = 0; r < ranks.length; r++)
      {
         this.cards[(s * ranks.length) + r] = new card(ranks[r], suits[s]);
      }
    }
}

function card(r, s)
{
this.rank = r;
this.suit = s;
}

function display()
{

document.getElementById("player_card_1").value = "anything";
alert("here");
}


function newGame()
{
var Player = new stack();
var Dealer = new stack();
var Deck = new stack();
Deck.makeDeck();
Player.add(Deck.deal());

display();
}

</script>
<style type="text/css">
input {
    background:transparent
}
</style>

</head>

<body>
<table bgcolor="#33CC33">
    <tr>
        <td style="font:14pt bold">Your cards</td>
        <td></td>
        <td style="font:14pt bold">Dealer's cards</td>
        <td></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="" id="player_card_1"></td>
        <td><input type="text" readonly="readonly" value="" id="p_card_1_val"></td>
        <td><input type="password" readonly="readonly" value="" id="dealer_card_1"></td>
        <td><input type="password" readonly="readonly" value="" id="d_card_1_val"></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="" id="player_card_2"></td>
        <td><input type="text" readonly="readonly" value="" id="p_card_2_val"></td>
        <td><input type="text" readonly="readonly" value="" id="dealer_card_2"></td>
        <td><input type="text" readonly="readonly" value="" id="d_card_2_val"></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="" id="player_card_3"></td>
        <td><input type="text" readonly="readonly" value="" id="p_card_3_val"></td>
        <td><input type="text" readonly="readonly" value="" id="dealer_card_3"></td>
        <td><input type="text" readonly="readonly" value="" id="d_card_3_val"></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="" id="player_card_4"></td>
        <td><input type="text" readonly="readonly" value="" id="p_card_4_val"></td>
        <td><input type="text" readonly="readonly" value="" id="dealer_card_4"></td>
        <td><input type="text" readonly="readonly" value="" id="d_card_4_val"></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="" id="player_card_5"></td>
        <td><input type="text" readonly="readonly" value="" id="p_card_5_val"></td>
        <td><input type="text" readonly="readonly" value="" id="dealer_card_5"></td>
        <td><input type="text" readonly="readonly" value="" id="d_card_5_val"></td>
    </tr>
    <tr>
        <td><input type="text" readonly="readonly" value="Total"></td>
        <td><input type="text" readonly="readonly" value=""></td>
        <td><input type="text" readonly="readonly" value="Total"></td>
        <td><input type="text" readonly="readonly" value=""></td>
    </tr>
</table>
<br>
<form name="buttons" action="">
<button name="deal" onclick="newGame()">Deal</button>
<button name="hit">Hit</button>
<button name="stand">Stand</button>
</form>

</body>

</html>

函数堆栈()
{
this.cards=新数组();
this.makeDeck=buildDeck;
this.deal=dealCard;
this.add=addCard;
}
函数dealCard()
{
返回此.cards.shift();
}
功能添加卡(card)
{
这个。卡片。推(卡片);
}
函数buildDeck()
{
var等级=新数组(“Ace”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“杰克”、“女王”、“国王”);
var套装=新阵列(“梅花”、“钻石”、“红心”、“黑桃”);
this.cards=新阵列(52);
对于(s=0;s
处理
打
站

试试这段代码。将表单代码替换为

<form name="buttons" action="">
<input type="button" name="deal" onclick="newGame()"/>Deal
<input type="button" name="hit">Hit</button>
<input type="button" name="stand">Stand</button>
</form>

处理
打
站

移除按钮周围的标签。当您单击一个按钮时,它将启动onclick函数,然后执行表单的操作。你可以在chrome的调试器(Ctrl-Shift I)的网络选项卡中看到这一点-哦,我的意思是-表单的操作是重新加载页面…作为提示,你可以使用
[]
而不是更详细的
新数组
@enhzflep谢谢!移除标签解决了这个问题。我甚至没有考虑表单提交部分,我只是从先前的作业中复制了一个布局,并更改了其中的一部分。