我遇到了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>   </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>   </td>
</tr>
</form>
</table>
</body>
好吧,我不知道为什么每次按下按钮都没有显示提交按钮和按下...
我也试过替换
changedisp(s1);
通过
s1.style.display="";
对此有何评论?
答案 0 :(得分: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。
答案 1 :(得分:0)
您需要明确地将其设置为显示类型:
Section.style.display="inline";
或内联阻止,阻止或任何你想要的东西。
答案 2 :(得分:0)
默认显示<B>
:内联,因此尝试设置为“内联”而不是空字符串“”。