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="";

对此有何评论?

4

3 回答 3

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));
}

noticechangedisp(document.getElementById(s1));传递实际元素而不仅仅是 ID。

于 2013-02-22T01:55:18.273 回答
0

您需要将其显式设置为显示类型:

Section.style.display="inline";

或内联块,或块,或任何你想要的。

于 2013-02-21T16:11:12.710 回答
0

A<B>默认为 display:inline,因此尝试设置为“inline”而不是空字符串“”。

于 2013-02-21T16:11:15.230 回答