2012-02-24 168 views
1

我在單元格中有一個表格,顯示用戶用按鈕輸入的數字(使用onclick和showthis函數。我需要能夠將該值存儲爲變量以便對其執行操作。我該怎麼做?此
PS:我使用JavaScript和HTML如何在單元格中創建表格變量?

<script language="JavaScript" type="text/javascript"> 
    function showthis(first){ 
     document.getElementById("displaycell").innerHTML+=first; 
    } 
</script> 
<body> 
    <h1 align="center"> RPN Calculator </h1> 
    <table summary align="center" border="1" cellpadding="1" cellspacing="3"> 
    <tr> 
     <th id="displaycell" colspan="5" type="text"> </td> 
    </tr> 
    <tr> 
     <td> 
     <button type="button" onclick="showthis('1')">1</button> 
     </td> 
     <td> 
     <button type="button" onclick="showthis('2')">2</button> 
     </td> 
     <td> 
     <button type="button" onclick="showthis('3')">3</button> 
    </td> 
    <!-- ... --> 
+2

你有任何的代碼顯示?如果我們不知道我們在做什麼,我們就無能爲力。 – zellio 2012-02-24 22:53:27

+1

我認爲HTML需要固定(''不應該被''關閉)。我會自己做,但我不知道這是真正的HTML,還是這裏的錯字。 – 2012-02-24 23:01:48

+0

非常感謝! – user1231803 2012-02-25 17:09:47

回答

2

首先你不應該使用+=innerHTML這意味着你最終會與數字追加到細胞內部的價值,而不是覆蓋它。

function showthis (number) { 
    var cell = document.getElementById('displaycell'); 
    cell.innerHTML = ""; 
    cell.appendChild(document.createTextNode(number)); 
} 

會是一個更好的方式來處理。

接下來,在showthis中,您最好將值存儲在變量中,以便將來可以直接從javascript訪問它。

var displayStore = 0; 

function showthis (number) { 
    var cell = document.getElementById('displaycell'); 
    cell.innerHTML = ""; 
    cell.appendChild(document.createTextNode(number)); 

    // you can either do this in a variable local to the <td> DOM Object like so 
    cell.currentDisplayNumber = number; 

    //or in a global variable like so 
    displayStore = number; 
} 

最後,再次訪問該變量你可以讀出來的displaystore <td>的或從變量讀取它。

function DoStuff0() { 
    var number = Number(document.getElementById('displaycell')).innerHTML; 
    // rest 
} 

function DoStuff1() { 
    var number = document.getElementById('displaycell').currentDisplayNumber; 
    // rest 
} 

function DoStuff2() { 
    var number = displayStore; 
    // rest 
} 
+0

RPN計算器

<表總結ALIGN = 「中心」 的邊界= 「1」 CELLPADDING = 「1」 CELLSPACING = 「3」> ​​<按鈕類型= 「按鈕」 的onclick = 「showthis( '1')」> 1 ​​<按鈕類型= 「按鈕」 的onclick = 「showthis( '2')」> 2 ​​<按鈕類型= 「按鈕」 的onclick =「showthis(」 3')「> 3 – user1231803 2012-02-24 22:56:51

+0

把代碼放在你的問題中,而不是作爲註釋。這種形式沒用。 – zellio 2012-02-24 22:57:54

+0

非常感謝! – user1231803 2012-02-25 17:08:31

0

這是你想要的嗎? http://jsfiddle.net/CWQY2/

HTML:

<h1 align="center"> RPN Calculator </h1> 
<table summary align="center" border="1" cellpadding="1" cellspacing="3"> 
    <tr> 
     <th id="displaycell" colspan="5"> </th> 
    </tr> 

    <tr> 
     <td> <button type="button" onClick="showthis('1')">1</button> </td> 
     <td> <button type="button" onClick="showthis('2')">2</button> </td> 
     <td> <button type="button" onClick="showthis('3')">3</button> </td> 
    </tr> 
</table> 

JS:

function showthis(first){ 
    document.getElementById("displaycell").innerHTML += first; 
} 
​ 

+0

非常感謝你! – user1231803 2012-02-25 17:09:38

相關問題