2013-02-21 26 views
0

我遇到了style.display問題。無法在表格內顯示任何內容

我想顯示一個提交框(這是在一個表內),當我改變一個數字,它不工作。

下面的代碼:

<head> 
<script> 
function changedisp(Section){ 
    if (Section.style.display=="none"){ 
     Section.style.display="" 
    } 
    else{ 
    Section.style.display="none" 
    } 
} 
function raisenumber(s,s1) { 
    var x; 
    x = document.getElementById(s).innerHTML; 
    document.getElementById(s).innerHTML = x*1 + 1; 
    changedisp(s1); 
} 
</script> 
</head> 

<body> 
<table> 
    <tr> 
     <th><b>ID</b></th> 
     <th><b>number</b></th> 
     <th><b>buttoon</b></th> 
     <th><b>submit</b></th> 
    </tr> 
    <form action="modifica_inventario.php" method="post"> 
    <tr> 
     <td> <b id="cell1A">item number1</b></td> 
     <td> <b id="cell2A">10</b></td> 
     <td> <button id="cell3A" type="button" onClick=raisenumber("cell2A","cell4A")>+1</button></td> 
     <td> <b id="cell4A" style="display: none;"> <input type="submit" value="submit"/></b> &nbsp </td> 
    </tr> 
    <tr> 
     <td> <b id="cell1B">item number1</b></td> 
     <td> <b id="cell2B">10</b></td> 
     <td> <button id="cell3B" type="button" onClick=raisenumber("cell2B","cell4B")>+1</button></td> 
     <td> <b id="cell4B" style="display: none;"> <input type="submit" value="submit"/></b> &nbsp </td> 
    </tr> 
    </form> 
</table> 
</body> 

好吧,我不知道爲什麼它沒有出現上落,每次提交按鈕一按按鈕...

我也試過更換

changedisp(s1); 

通過

s1.style.display=""; 

對此有何評論?

回答

0

你需要將其設置爲顯示類型明確:

Section.style.display="inline"; 

或內聯塊,或塊,或任何你想要的。

+0

它沒有工作,我已經嘗試 – 2013-02-21 16:50:20

0

A <B>默認情況下顯示爲:inline,因此嘗試設置爲「inline」而不是空字符串「」。

1

您需要傳遞您試圖隱藏並顯示到您的changedisp函數的實際元素。在你的代碼中,你只是傳遞元素的ID名稱。試試這個...

function raisenumber(s,s1) { 
    var x; 
    x = document.getElementById(s).innerHTML; 
    document.getElementById(s).innerHTML = x*1 + 1; 
    changedisp(document.getElementById(s1)); 
} 

通知changedisp(document.getElementById(s1));通過實際元素,而不是僅僅的ID。