1

以下は私のコードです。下の表の行を非表示にするか表示することで完全に機能します。私が抱えている問題は、フォームを検証してフォームを送信すると、表示されているテーブルの行が非表示になることです。チェックボックスがチェックされている場合、表示されたままになるはずです。チェックボックスはオンのままですが、表の行は非表示になります。

また、テーブルが非表示になっても、チェックボックスをオンにすると、すべてのフォーム フィールドが保持され、何も失われません。問題は、テーブルが非表示になることです。何か案は??

なぜこれが起こっているのですか??

<style>
<!--
.hidden 
{
display: none;
}
.visible 
{
}
</style>

<script type="text/javascript">
<!--
var last = "";
function show(div)
{
    if (last)
    {
        document.getElementById(last).className = "hidden";
    }   
    if (div && document.getElementById(div))
    {
        document.getElementById(div).className = "visible";
        last = div;
    }
}
</javascript>

<input name="showme" value="yesshowme" type="checkbox" onClick="show(this.value);">

<tr id="yesshowme" class="hidden">
blablablablalbla
</tr>

<submit name="submit" value="submit">
4

1 に答える 1

0

送信をクリックすると、フォーム自体が投稿されます。フォームのマークアップを提供していないため、フォーム自体に投稿されると思います。その情報を考慮すると、ページは変更が行われる前の元の状態に戻っている可能性があります。行った変更を保持したい場合は、これらの変更を投稿しているデータソースからそれらをロードするか、セッションまたは Cookie を使用して状態を保持する必要があります。ajax を使用して変更を行う場合はonclick="myAjaxCall();return false;"、送信ボタンに追加するだけです。

于 2013-02-28T14:26:31.380 に答える