2

だから - 私はチェックボックスを持っています

<asp:CheckBox ID="chkOrder" runat="server" Visible='<%#IsCheckBoxVisible() %>' 
     Checked="false"
     OnCheckedChanged="chkOrder_CheckedChanged" AutoPostBack="true" 
     EnableViewState="false"></asp:CheckBox>

上記のもの。現在、チェックボックスはグリッドビューとデータバインドにあります-グリッドビューのすべての行に対して、チェックボックスはfalseに設定されています。問題は、最初のチェックボックスがまだチェックされていることです。

IE では、問題は存在しません。Chrome の場合も同様です。オプションが不足しています。また、私が使用する場合

$("checkboxName").attr("checked"); // verified on jquery ready function.

FF ではそれが当てはまります。IE false; クロム偽。

任意のヒント?

編集

これで準備が整いました:生成されたhtmlにはチェックされた属性はありません。FF と IE の違いはまったく同じです。

別のこと-チェックボックスを含むグリッドにはajaxパネルがあり、グリッドをページングすると、ページ2に移動しようとします-コードビハインドのcheckedChangedがトリガーされます。

4

7 に答える 7

16

Firefox はデフォルトでフォーム フィールドの状態を記憶しています。Ctrl+F5Firefox にこのキャッシュを強制的にクリアさせます。

個々のフォームと入力要素に対してこれを無効にすることができます:

<form autocomplete="off"> 

<input ... autocomplete="off" /> 
于 2008-10-16T15:52:48.930 に答える
6

チェックボックスをオンにしたくない場合は、「チェック済み」属性を完全に省略してください。チェックは、値ではなく属性の存在によってトリガーされるためです。checked

チェックボックス(およびラジオボタン)は、ユーザーが切り替えることができるオン/オフスイッチです。制御要素のチェック属性が設定されている場合、スイッチは「オン」です

http://www.w3.org/TR/html401/interact/forms.html#checkbox

私の場合、次のマークアップは、仕様に基づいて予想されるように、IE、Firefox、およびOperaでチェックされるチェックボックスを生成します。

<input type="checkbox" checked="false">
于 2008-10-16T14:12:35.217 に答える
4

最近行ったいくつかのphpコーディングでは、F5ページを更新した後でも、FF3がチェックした内容を記憶していることに気付きました。ソースを見ると、生成したい正しいHTMLが表示されました。これを回避するには、アドレスバーに移動して、ページのリクエストを再度強制します。

なぜこの回避策が必要だったのかはわかりませんが、通常のユーザビリティの観点からは、開発中だけでなく、それを高く評価しました。

于 2008-10-16T14:23:45.897 に答える
1

これは、チェックボックスを備えた興味深い癖に光を当てます。これが私が実際にそれを正しく要約するために思いついたいくつかの非常に単純なhtmlです:

<html>
<body>

<input type="checkbox" checked="false" id="cb" />

<script language="javascript">
if (cb.checked == true)
  document.write('this is retarded');
</script>

</body>
</html>
于 2011-03-22T15:22:19.100 に答える
0

FFとIEから生成されたHTMLを比較しようとしましたか?(「HTMLソースを表示」付き)

問題をもう少し正確に特定するためだけに。ほんのわずかなチャンスですが、両方のブラウザでHTMLが異なる場合は、サーバー側でASPがHTMLを作成する方法に問題があります。

両方が同じで、完全にHTMLの苦情がある場合は、FFにバグが見つかりました。

于 2008-10-16T14:05:18.023 に答える
0

これは、FireFox 3 でボックスを選択する場合にも発生します。このボックスを使用して AJAX を実行したり、ページを更新したりすると、大きな問題になる可能性があります。

ユーザーがページを更新したり、戻るボタンの奇妙な操作を行ったりすると、選択ボックスが選択されたままになる可能性がありますが、AJAX を再実行するには、実際には選択を解除して再度選択する必要があります。

この場合、body onunload イベントを使用して選択/チェックボックスをクリアすると、「問題」が「解決」されることがわかりました。

于 2008-10-16T15:52:23.957 に答える
0
$("input[id$=chkOrder]").click(function() {        
    if (!$(this).attr("checked")) { $(this).removeAttr("checked"); }
    else { $(this).attr("checked", "checked"); }
})
于 2010-04-21T22:12:03.680 に答える