2012-10-29 76 views
0

在一個班級的二十一點遊戲上工作,並且在顯示功能上有些麻煩。它確實改變了該字段的值,但是在完成該功能後它會恢復。我如何最後做出改變?輸入字段的Javascript設置值不夠持久

<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> 
+2

刪除環繞按鈕的

標籤。當你點擊一個按鈕時,它會觸發它的onclick函數,然後它執行表單的動作。你可以在Chrome的調試器的網絡標籤中看到這個(Ctrl Shift I) - 哦,我的意思是說 - 表單的動作是重新加載頁面...... – enhzflep

+2

作爲提示,你可以使用'[]'而不是更詳細的'新陣列' – elclanrs

+0

@enhzflep謝謝!刪除標籤解決了這個問題。我甚至沒有考慮表單提交部分,我剛剛從早先的作業中複製了一個佈局,並更改了部分內容。 – Kanosthefallen

回答

0

試試看看這個代碼。將您的表單代碼替換爲

<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> 
相關問題