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 に答える